:root{--ink:#241b17;--muted:#756b65;--cream:#f7f2ea;--paper:#fffdfa;--line:#e6dcd2;--brand:#a84c20;--brand-dark:#783214;--green:#2f6b4f;--shadow:0 18px 55px rgba(72,43,26,.1)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Microsoft JhengHei","PingFang TC","Noto Sans TC",sans-serif;line-height:1.5}.hidden{display:none!important}button,input,textarea,select{font:inherit}.tool-header{height:76px;padding:0 max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,250,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.tool-brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.tool-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--brand);color:white;font-size:23px;font-weight:800}.tool-brand strong,.tool-brand small{display:block}.tool-brand strong{font-size:18px;letter-spacing:.08em}.tool-brand small{color:var(--muted);font-size:12px}.quiet-link,.quiet-button{border:0;background:none;color:var(--brand-dark);text-decoration:none;font-weight:700;cursor:pointer}.tool-shell{max-width:1120px;margin:0 auto;padding:54px 24px 80px}.tool-hero{max-width:760px;margin-bottom:40px}.eyebrow{margin:0 0 8px;color:var(--brand);font-size:13px;font-weight:800;letter-spacing:.16em}.tool-hero h1,.admin-login-card h1,.admin-title-row h1{font-size:clamp(30px,5vw,48px);line-height:1.12;margin:0 0 16px;letter-spacing:-.03em}.tool-hero>p:not(.eyebrow){font-size:18px;color:var(--muted)}.hero-note,.panel-note{display:flex;gap:10px;padding:14px 16px;background:#fff7e7;border:1px solid #ecd9ad;border-radius:12px;color:#674b17}.hero-note span{flex:none;display:grid;place-items:center;width:20px;height:20px;background:#d29131;border-radius:50%;color:white;font-weight:800}.tool-section{margin:0 0 28px;padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.section-heading,.section-heading>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading{margin-bottom:22px}.section-heading h2{font-size:22px;margin:0}.step-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f1ded2;color:var(--brand-dark);font-weight:800}.section-meta{color:var(--muted);font-size:14px}.tool-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tool-card{display:grid;grid-template-columns:1fr auto;gap:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:white;transition:.18s ease}.tool-card.has-quantity{border-color:#bd7954;box-shadow:0 0 0 2px #f2dfd4}.tool-code{font-size:12px;color:var(--brand);font-weight:800;letter-spacing:.05em}.tool-name{font-size:16px;font-weight:750;margin:5px 0 8px}.tool-price{color:var(--muted);font-size:14px}.tool-price strong{color:var(--ink);font-size:18px}.quantity-control{align-self:center;display:flex;align-items:center;gap:8px}.quantity-control button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#faf7f3;color:var(--brand-dark);font-size:20px;cursor:pointer}.quantity-control input{width:42px;border:0;background:transparent;text-align:center;font-weight:800}.loading-card,.empty-card{grid-column:1/-1;padding:35px;text-align:center;color:var(--muted)}.buyer-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field span{font-weight:700;font-size:14px}.field b{color:#b8332b}.field input,.field textarea,.admin-filter-bar input,.admin-filter-bar select,.admin-product-row input{width:100%;border:1px solid #d8ccc2;border-radius:11px;background:white;padding:12px 14px;color:var(--ink);outline:none}.field input:focus,.field textarea:focus,.admin-filter-bar input:focus,.admin-filter-bar select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #efdcd1}.field-wide{grid-column:1/-1}.order-summary{position:sticky;bottom:16px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:20px 24px;border:1px solid #d7c1b4;border-radius:18px;background:rgba(255,253,250,.96);box-shadow:0 16px 45px rgba(65,35,20,.18);backdrop-filter:blur(14px);z-index:10}.order-summary small{display:block;color:var(--muted)}.summary-total{text-align:right}.summary-total span{display:block;color:var(--muted);font-size:13px}.summary-total strong{font-size:25px}.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;border-radius:11px;padding:12px 18px;border:1px solid transparent;font-weight:800;cursor:pointer;text-decoration:none}.primary-action{background:var(--brand);color:white}.primary-action:hover{background:var(--brand-dark)}.primary-action:disabled{background:#b8ada6;cursor:not-allowed}.secondary-action{background:white;color:var(--brand-dark);border-color:#ceb6a8}.form-message{min-height:22px;color:#a12b25}.order-summary .form-message{grid-column:1/-1;margin:0}.inline-message{padding:12px;margin-bottom:16px;border-radius:10px;background:#fff3d7;color:#755214}.receipt-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:18px}.receipt-paper{max-width:820px;margin:0 auto;padding:48px;background:white;border:1px solid var(--line);box-shadow:var(--shadow)}.receipt-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid var(--ink);padding-bottom:20px}.receipt-head h1{margin:0;font-size:28px}.receipt-status{padding:7px 12px;border-radius:999px;background:#f4dfc8;color:#7d401e;font-weight:800}.receipt-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 30px;margin:25px 0}.receipt-meta div span{display:block;color:var(--muted);font-size:12px}.receipt-table{width:100%;border-collapse:collapse}.receipt-table th,.receipt-table td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left}.receipt-table th:nth-child(n+3),.receipt-table td:nth-child(n+3){text-align:right}.receipt-total{display:flex;justify-content:flex-end;align-items:baseline;gap:18px;margin-top:22px}.receipt-total strong{font-size:30px}.receipt-notice{margin-top:30px;padding:16px;background:#faf5ef;border-radius:10px;color:var(--muted)}.receipt-link-box{max-width:820px;margin:18px auto;padding:20px;background:#eee4d9;border-radius:14px}.receipt-link-box p{margin:4px 0 12px;color:var(--muted)}.copy-row{display:flex;gap:8px}.copy-row input{min-width:0;flex:1;border:1px solid #d0c1b7;border-radius:9px;padding:10px}.copy-row button{border:0;border-radius:9px;background:var(--ink);color:white;padding:0 18px;font-weight:700}.tool-footer{text-align:center;color:var(--muted);padding:30px}.empty-state{text-align:center;padding:80px 20px}.inline-action{margin-top:15px}.admin-shell{max-width:1180px;margin:0 auto;padding:42px 24px 80px}.admin-login-card{max-width:440px;margin:45px auto;padding:32px;background:white;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.admin-login-card h1{font-size:30px}.admin-login-card form{display:grid;gap:16px}.header-actions{display:flex;align-items:center;gap:16px}.admin-title-row{display:flex;justify-content:space-between;align-items:end}.admin-title-row h1{font-size:36px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.stat-card{background:white;border:1px solid var(--line);border-radius:14px;padding:18px}.stat-card span{color:var(--muted);font-size:13px}.stat-card strong{display:block;font-size:26px}.admin-tabs-bar{display:flex;gap:8px;margin:24px 0 14px}.admin-page-tab{border:1px solid var(--line);border-radius:10px;background:white;padding:10px 18px;font-weight:700;cursor:pointer}.admin-page-tab.active{background:var(--ink);color:white}.admin-filter-bar{display:flex;gap:10px;margin-bottom:14px}.admin-filter-bar input{flex:1}.admin-filter-bar select{width:180px}.admin-order-card{margin-bottom:12px;padding:18px;background:white;border:1px solid var(--line);border-radius:14px}.admin-order-top{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center}.admin-order-top h3{margin:0 0 5px}.admin-order-top p{margin:0;color:var(--muted)}.admin-order-amount{font-size:21px;font-weight:800}.status-select{border:1px solid #d5c7bd;border-radius:9px;padding:8px;background:white}.admin-order-detail{display:none;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.admin-order-card.open .admin-order-detail{display:block}.order-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.order-detail-grid span{color:var(--muted);font-size:12px;display:block}.admin-order-items{margin:0;padding-left:20px}.admin-card-actions{display:flex;justify-content:flex-end;margin-top:12px}.link-button{border:0;background:none;color:var(--brand);font-weight:700;cursor:pointer}.admin-products-list{margin-top:15px}.admin-product-row{display:grid;grid-template-columns:110px 1fr 90px 110px 80px 90px;gap:10px;align-items:center;margin-bottom:8px;padding:12px;background:white;border:1px solid var(--line);border-radius:12px}.admin-product-row label{font-size:12px;color:var(--muted)}.admin-product-row input{padding:8px}.admin-product-row button{border:0;background:var(--brand);color:white;border-radius:8px;padding:9px;font-weight:700;cursor:pointer}
@media(max-width:760px){.tool-header{height:66px;padding:0 16px}.quiet-link{font-size:13px}.tool-shell,.admin-shell{padding:32px 14px 65px}.tool-section{padding:20px 16px;border-radius:16px}.tool-catalog{grid-template-columns:1fr}.buyer-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.order-summary{position:static;grid-template-columns:1fr auto;gap:12px;padding:16px}.order-summary .primary-action{grid-column:1/-1}.receipt-actions{display:grid;grid-template-columns:1fr 1fr}.receipt-paper{padding:25px 18px}.receipt-meta{grid-template-columns:1fr}.receipt-table{font-size:13px}.copy-row{display:grid}.stats-grid{grid-template-columns:1fr 1fr}.admin-title-row{align-items:flex-start}.admin-order-top{grid-template-columns:1fr auto}.admin-order-top .status-select{grid-column:1/-1}.order-detail-grid{grid-template-columns:1fr 1fr}.admin-product-row{grid-template-columns:1fr 1fr}.admin-product-row>div:nth-child(2){grid-column:1/-1}.admin-filter-bar{flex-direction:column}.admin-filter-bar select{width:100%}}
@media print{body{background:white}.no-print,.tool-header,.tool-footer{display:none!important}.tool-shell{padding:0}.receipt-paper{border:0;box-shadow:none;max-width:none;padding:12mm}.receipt-table{font-size:11pt}}

/* 學員工具清單：單欄條列版 */
.catalog-column-head{display:grid;grid-template-columns:minmax(0,1fr) 180px 160px;gap:34px;padding:0 28px 10px;color:var(--muted);font-size:12px;font-weight:700}
.catalog-column-head span:nth-child(n+2){text-align:center}
.tool-catalog{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.tool-card{display:grid;grid-template-columns:minmax(0,1fr) 180px 160px;gap:34px;align-items:center;min-height:88px;padding:20px 28px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:white}
.tool-card.has-quantity{border-color:var(--line);background:#fff8f3;box-shadow:inset 4px 0 0 var(--brand)}
.tool-name{margin:0;font-size:17px;line-height:1.5}
.tool-price{display:flex;align-items:baseline;justify-content:center;gap:7px;text-align:center;white-space:nowrap}
.tool-price strong{display:inline;font-size:18px}
.tool-unit{color:var(--muted);font-size:14px}
.quantity-control{justify-self:center}
.loading-card,.empty-card{grid-column:auto}
.admin-items-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:white}.admin-items-table{width:100%;min-width:640px;border-collapse:collapse}.admin-items-table th,.admin-items-table td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.admin-items-table th{background:#f6f0e9;color:#6f625a;font-size:12px;letter-spacing:.04em;white-space:nowrap}.admin-items-table td:nth-child(2),.admin-items-table th:nth-child(2){text-align:center}.admin-items-table td:nth-child(n+3),.admin-items-table th:nth-child(n+3){text-align:right;white-space:nowrap}.admin-items-table tbody tr:last-child td{border-bottom:1px solid #cdbdb2}.admin-items-table tfoot td{border-bottom:0;background:#fffaf5;font-weight:800}.admin-items-table tfoot td:first-child{text-align:right;color:var(--muted)}.admin-items-table tfoot td:last-child{color:var(--brand-dark);font-size:17px}
.admin-product-row{grid-template-columns:minmax(260px,1fr) 90px 110px 80px 90px}
.admin-order-card{padding:14px 18px}.admin-order-top{grid-template-columns:minmax(0,1fr) auto auto auto;gap:14px}.admin-order-identity{display:flex;align-items:baseline;gap:14px;min-width:0}.admin-order-identity h3{flex:none;margin:0}.admin-order-meta{color:var(--muted);font-size:14px;white-space:nowrap}.admin-order-top .toggle-detail{white-space:nowrap;padding:8px 4px}.admin-order-detail{margin-top:14px;padding-top:14px}
.recent-orders-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-18px 0 28px;padding:17px 20px;background:#eee4d9;border:1px solid #ddcfc3;border-radius:14px}.recent-orders-panel strong,.recent-orders-panel small{display:block}.recent-orders-panel small{margin-top:3px;color:var(--muted)}.recent-orders-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.recent-order-link{display:inline-flex;flex-direction:column;padding:9px 13px;border:1px solid #cbb5a7;border-radius:10px;background:white;color:var(--brand-dark);text-decoration:none;font-weight:800}.recent-order-link small{font-size:11px;font-weight:400}
.payment-panel{max-width:820px;margin:18px auto;padding:26px;background:var(--paper);border:1px solid #d7c1b4;border-radius:16px;box-shadow:var(--shadow)}
.payment-panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}.payment-panel-heading .eyebrow{margin:0}.payment-panel-heading h2{margin:2px 0 0;font-size:24px}
.bank-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.bank-info-grid>div{padding:15px;background:white}.bank-info-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}.bank-account{font-size:20px;letter-spacing:.04em;color:var(--brand-dark)}
.remittance-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-top:18px}.remittance-form .primary-action{min-height:47px}.remittance-form+.form-message{margin-bottom:0}
.admin-add-product-form{display:grid;grid-template-columns:minmax(260px,1fr) 110px 130px auto;gap:12px;align-items:end;margin-top:16px;padding:18px;background:white;border:1px solid var(--line);border-radius:14px}.admin-add-product-form .primary-action{min-height:43px}.admin-product-row{grid-template-columns:minmax(260px,1fr) 90px 110px 70px 76px 76px}.admin-product-row .delete-product{background:white;color:#a12b25;border:1px solid #d9b9b5}

@media(max-width:760px){
  .catalog-column-head{display:none}
  .tool-card{grid-template-columns:minmax(0,1fr) auto;gap:13px 18px;min-height:0;padding:18px 10px}
  .tool-card>div:first-child{grid-column:1/-1}
  .tool-price{justify-content:flex-start;text-align:left}
  .tool-price strong{display:inline;font-size:17px}
  .quantity-control{justify-self:end}
  .payment-panel{padding:20px 16px}.bank-info-grid{grid-template-columns:1fr}.remittance-form{grid-template-columns:1fr}.remittance-form .primary-action{width:100%}
  .recent-orders-panel{align-items:stretch;flex-direction:column}.recent-orders-list{justify-content:stretch}.recent-order-link{flex:1}
  .admin-product-row{grid-template-columns:1fr 1fr}.admin-product-row>div:first-child{grid-column:1/-1}.admin-product-row>div:nth-child(2){grid-column:auto}
  .admin-order-top{grid-template-columns:1fr auto;gap:10px 12px}.admin-order-identity{grid-column:1/-1;align-items:flex-start;flex-direction:column;gap:2px}.admin-order-amount{align-self:center}.admin-order-top .status-select{grid-column:auto}.admin-order-top .toggle-detail{align-self:center}
  .admin-add-product-form{grid-template-columns:1fr 1fr}.admin-add-product-form .field:first-child{grid-column:1/-1}.admin-add-product-form .primary-action{grid-column:1/-1}
}

.receipt-meta-wide{grid-column:1/-1}
