:root {
      --ink: #322c11;
      --muted: #7b634c;
      --line: rgba(50,44,17,.14);
      --paper: #fffdf8;
      --wash: #fff0ea;
      --brand: #6d5c32;
      --terracotta: #d6895b;
      --green: #2f7d4f;
      --danger: #b93d31;
    }
    * { box-sizing: border-box; }
    body {
      margin: 0;
      background: var(--wash);
      color: var(--ink);
      font-family: Arial, "Microsoft JhengHei", sans-serif;
      line-height: 1.6;
    }
    a { color: inherit; }
    .site-header {
      width: min(1120px, calc(100% - 32px));
      margin: 28px auto 0;
      display: flex;
      justify-content: space-between;
      gap: 20px;
      align-items: center;
    }
    .brand {
      text-decoration: none;
      font-size: 24px;
      font-weight: 900;
      letter-spacing: .08em;
    }
    .primary-nav {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      flex-wrap: wrap;
      gap: 12px;
      font-size: 14px;
      color: var(--muted);
    }
    .primary-nav a {
      text-decoration: none;
      padding: 8px 0;
    }
    /* 與 products.html 右上角購物車完全相同 */
    .header-cart {
      border: 0;
      background: none;
      color: var(--terracotta);
      font-size: 13.5px;
      padding: 8px 0;
      font-weight: 400;
      cursor: pointer;
    }
    .cart-count {
      display: inline-flex;
      min-width: 20px;
      height: 20px;
      border-radius: 10px;
      background: var(--terracotta);
      color: #fff;
      align-items: center;
      justify-content: center;
      font-size: 11px;
      padding: 0 5px;
    }
    main {
      width: min(960px, calc(100% - 32px));
      margin: 56px auto 80px;
    }
    .hero {
      background: #fff;
      border: 1px solid var(--line);
      padding: clamp(24px, 5vw, 44px);
    }
    .eyebrow {
      margin: 0 0 6px;
      color: var(--muted);
      font-weight: 800;
      letter-spacing: .05em;
    }
    h1 {
      margin: 0;
      font-size: clamp(34px, 7vw, 56px);
      line-height: 1.05;
    }
    .hero p {
      max-width: 680px;
      margin: 18px 0 0;
      color: var(--muted);
      font-size: 18px;
      font-weight: 700;
    }
    .lookup-panel {
      margin-top: 18px;
      background: var(--paper);
      border: 1px solid var(--line);
      padding: 24px;
    }
    .lookup-form {
      display: grid;
      grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto;
      gap: 14px;
      align-items: end;
    }
    label {
      display: grid;
      gap: 6px;
      color: var(--muted);
      font-weight: 800;
    }
    input {
      width: 100%;
      border: 1px solid var(--line);
      background: #fff;
      color: var(--ink);
      padding: 14px 16px;
      font: inherit;
      font-weight: 800;
      outline: none;
    }
    input:focus {
      border-color: var(--brand);
      box-shadow: 0 0 0 3px rgba(109,92,50,.12);
    }
    button,
    .btn {
      border: 1px solid var(--brand);
      background: var(--brand);
      color: #fff;
      padding: 14px 20px;
      font: inherit;
      font-weight: 900;
      text-decoration: none;
      cursor: pointer;
    }
    button.secondary,
    .btn.secondary {
      background: #fff;
      color: var(--brand);
    }
    .message {
      margin-top: 16px;
      color: var(--muted);
      font-weight: 800;
    }
    .message.is-error { color: var(--danger); }
    .results {
      margin-top: 24px;
      display: grid;
      gap: 16px;
    }
    .order-card {
      background: #fff;
      border: 1px solid var(--line);
      padding: 22px;
    }
    .order-head {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      align-items: flex-start;
      border-bottom: 1px solid var(--line);
      padding-bottom: 14px;
      margin-bottom: 14px;
    }
    .order-no {
      font-size: 24px;
      font-weight: 900;
      line-height: 1.2;
    }
    .status-stack {
      display: flex;
      justify-content: flex-end;
      flex-wrap: wrap;
      gap: 8px;
    }
    .pill {
      display: inline-flex;
      align-items: center;
      min-height: 32px;
      border-radius: 999px;
      padding: 6px 12px;
      background: rgba(47,125,79,.1);
      color: var(--green);
      font-weight: 900;
      white-space: nowrap;
    }
    .pill.warn {
      background: rgba(185,61,49,.1);
      color: var(--danger);
    }
    .meta-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-bottom: 16px;
    }
    .meta {
      border: 1px solid var(--line);
      padding: 12px;
      background: var(--paper);
      min-height: 76px;
    }
    .meta small {
      display: block;
      color: var(--muted);
      font-weight: 900;
    }
    .meta strong {
      display: block;
      margin-top: 2px;
      font-size: 18px;
    }
    .items {
      display: grid;
      gap: 8px;
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .item {
      display: grid;
      grid-template-columns: minmax(0,1fr) auto auto;
      gap: 12px;
      align-items: center;
      border-bottom: 1px solid rgba(50,44,17,.08);
      padding: 10px 0;
    }
    .item:last-child { border-bottom: 0; }
    .item-name { font-weight: 900; }
    .item-qty,
    .item-subtotal {
      color: var(--muted);
      font-weight: 900;
      white-space: nowrap;
    }
    .empty {
      border: 1px dashed var(--line);
      background: rgba(255,255,255,.6);
      padding: 28px;
      text-align: center;
      color: var(--muted);
      font-weight: 900;
    }
    .fine-print {
      margin-top: 18px;
      color: var(--muted);
      font-size: 14px;
      font-weight: 700;
    }
    @media (max-width: 760px) {
      .site-header {
        align-items: flex-start;
        flex-direction: column;
      }
      .lookup-form,
      .meta-grid {
        grid-template-columns: 1fr;
      }
      .lookup-form button {
        width: 100%;
      }
      .order-head {
        flex-direction: column;
      }
      .status-stack {
        justify-content: flex-start;
      }
      .item {
        grid-template-columns: 1fr;
      }
      .item-qty,
      .item-subtotal {
        white-space: normal;
      }
    }

    /* shared cart drawer - controlled by assets/cart.js */
    .cart-overlay{position:fixed;inset:0;background:rgba(30,25,12,.36);opacity:0;visibility:hidden;transition:.22s;z-index:250}
    .cart-overlay.open{opacity:1;visibility:visible}
    .cart-drawer{position:fixed;top:0;right:0;height:100dvh;width:min(520px,92vw);background:#fff;z-index:260;transform:translateX(100%);transition:transform .28s ease;box-shadow:-16px 0 46px rgba(50,44,17,.16);display:grid;grid-template-rows:auto 1fr auto}
    .cart-drawer.open{transform:translateX(0)}
    .cart-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
    .cart-head h2{font-size:17px;color:var(--ink);margin:0}
    .cart-close{width:36px;height:36px;border:0;border-radius:50%;background:#f4f1eb;color:var(--ink);font-size:22px;padding:0}
    .cart-items{padding:8px 22px 22px;overflow:auto}
    .cart-empty,.cart-sync-note{padding:60px 0;text-align:center;color:var(--muted)}
    .cart-item{display:grid;grid-template-columns:72px 1fr auto;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
    .cart-item img{width:72px;height:72px;object-fit:cover;background:#f3efe8}
    .cart-item-name{color:var(--ink);font-size:13px;font-weight:700}
    .cart-item-unit{font-size:11px;color:var(--muted);margin-top:4px}
    .cart-item .qty-control{margin-top:8px;width:112px;height:34px;display:grid;grid-template-columns:34px 1fr 34px;border:1px solid var(--line)}
    .cart-item .qty-control button{border:0;background:#fff;color:var(--brand);padding:0;font-size:18px}
    .cart-item .qty-control span{display:flex;align-items:center;justify-content:center;font-size:12px}
    .remove-item{margin-top:7px;border:0;background:none;padding:0;color:var(--muted);font-size:11px;text-decoration:underline}
    .cart-item-price{font-size:12px;color:var(--ink);font-weight:700;white-space:nowrap}
    .cart-temp-group{margin:8px 0 22px;border:1px solid var(--line)}
    .cart-temp-title{display:flex;justify-content:space-between;padding:12px 14px;background:#f7f4ee;color:var(--ink);font-size:14px;font-weight:700}
    .cart-temp-group .cart-item{margin:0 14px}
    .cart-temp-summary{padding:12px 14px;background:#fbfaf7}
    .cart-temp-summary>div:not(.cart-temp-progress){display:flex;justify-content:space-between;gap:16px;padding:4px 0;font-size:12px;color:var(--muted)}
    .cart-temp-summary strong{color:var(--ink)}
    .cart-temp-progress{font-size:11px;color:var(--muted);padding:3px 0 7px}
    .cart-temp-total{margin-top:6px;padding-top:10px!important;border-top:1px solid var(--line);font-size:14px!important;color:var(--ink)!important}
    .cart-foot{padding:20px 22px;border-top:1px solid var(--line)}
    .cart-total{display:flex;justify-content:space-between;color:var(--ink);font-size:18px;font-weight:700;margin-bottom:14px}
    .checkout-btn{width:100%;height:50px;border:0;background:var(--brand);color:#fff;font-size:14px}
    .checkout-note{font-size:11px;color:var(--muted);text-align:center;margin-top:10px}
    .cart-preorder-notice{margin:8px 0 14px;padding:12px 14px;border:1px solid #d77b55;background:#fff5ef;color:#9b4f33;display:flex;flex-direction:column;gap:3px;font-size:12px;line-height:1.55}
    .cart-preorder-notice strong{font-size:13px;color:#8f4329}
    .cart-preorder-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:2px 7px;border:1px solid #e1704c;color:#d95d36;background:#fff7f3;font-size:10px;font-weight:700;line-height:1.3;vertical-align:1px;white-space:nowrap}
    @media (max-width:560px){.cart-item{grid-template-columns:64px 1fr}.cart-item img{width:64px;height:64px}.cart-item-price{grid-column:2}}


    .order-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 4px}
    .order-action-btn{border:1px solid var(--brand);background:var(--brand);color:#fff;padding:10px 15px;font-size:13px;cursor:pointer}
    .order-action-btn.secondary{background:#fff;color:var(--brand)}
    .order-action-btn:disabled{opacity:.55;cursor:not-allowed}
    .payment-report-note{margin-top:10px;padding:10px 12px;border:1px solid #d9cfbd;background:#fbf8f2;color:var(--muted);font-size:12px;line-height:1.7}
    .payment-modal[hidden]{display:none}
    .payment-modal{position:fixed;inset:0;z-index:350;display:flex;align-items:center;justify-content:center;padding:22px}
    .payment-modal-backdrop{position:absolute;inset:0;background:rgba(30,25,12,.42)}
    .payment-modal-card{position:relative;width:min(460px,100%);background:#fff;padding:24px;box-shadow:0 20px 60px rgba(30,25,12,.2)}
    .payment-modal-card h2{margin:0 0 8px;font-size:20px}
    .payment-modal-card p{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.7}
    .payment-modal-card label{display:grid;gap:7px;font-size:12px;color:var(--muted)}
    .payment-modal-card input{height:44px;border:1px solid var(--line);padding:0 12px;font-size:16px;letter-spacing:.16em}
    .payment-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
    .payment-modal-actions button{padding:10px 16px;border:1px solid var(--brand);background:#fff;color:var(--brand)}
    .payment-modal-actions .primary{background:var(--brand);color:#fff}

    .order-detail{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
    .order-detail-title{font-size:14px;font-weight:900;margin-bottom:6px}
    .item{grid-template-columns:minmax(0,1fr) auto auto auto}
    .item-price{color:var(--muted);font-weight:800;white-space:nowrap}
    .item-remark{display:block;margin-top:3px;color:#b45f3c;font-size:11px;font-weight:800}
    .amount-summary{margin-top:12px;margin-left:auto;width:min(390px,100%);border-top:1px solid var(--line);padding-top:8px}
    .amount-row{display:flex;justify-content:space-between;gap:20px;padding:5px 0;color:var(--muted);font-weight:800}
    .amount-row.total{margin-top:4px;padding-top:10px;border-top:1px solid var(--line);font-size:18px;color:var(--ink);font-weight:900}

.lookup-form[hidden] { display: none !important; }
