
:root{--bg:#f7f4fb;--card:#fff;--ink:#25212b;--muted:#7a7280;--line:#e7e0eb;--accent:#745a86;--soft:#eee5f3;--warn:#b45c5c}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",sans-serif;background:var(--bg);color:var(--ink)}
header{height:72px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}
.brand{font-size:22px;font-weight:800}.brand span{font-size:11px;letter-spacing:2px;color:var(--muted);margin-left:8px}
.user{font-size:14px;color:var(--muted)}a{color:inherit;text-decoration:none}
nav{background:#fff;padding:0 4vw 14px;display:flex;gap:12px;overflow:auto}nav a{padding:9px 16px;background:var(--soft);border-radius:999px;white-space:nowrap;font-weight:700}
main{max-width:1280px;margin:auto;padding:32px 4vw 60px}.hero,.pagehead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
h1{margin:0 0 6px;font-size:34px}h2{margin-top:0}.hero p,.pagehead span{color:var(--muted)}
.inline,.form-row{display:flex;gap:10px}.inline input{min-width:240px}
input,select,button{font:inherit;border-radius:12px;border:1px solid var(--line);padding:12px 14px;background:#fff}
button{background:var(--accent);color:#fff;border:none;font-weight:800;cursor:pointer}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 34px}.stat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.stat b{font-size:36px;display:block}.stat span{color:var(--muted)}.warning b{color:var(--warn)}
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.quick a{background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px;font-size:28px}.quick b,.quick small{display:block}.quick b{font-size:18px;margin-top:14px}.quick small{font-size:13px;color:var(--muted);margin-top:5px}
.note,.flash{margin-top:24px;padding:16px 18px;border-radius:14px;background:var(--soft)}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.grid2{display:grid;grid-template-columns:340px 1fr;gap:22px}
label{display:block;margin:14px 0;color:var(--muted);font-size:14px}label input{width:100%;margin-top:6px}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.product{display:flex;gap:18px}.product img{width:140px;height:110px;object-fit:cover;border-radius:14px}.product h3{margin:6px 0}.product p{color:var(--muted)}
.code{display:inline-block;background:var(--ink);color:#fff;border-radius:8px;padding:4px 8px;font-weight:900;letter-spacing:1px}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:15px;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted);background:#fbfafc}.member{display:flex;align-items:center;gap:10px}.member img{width:38px;height:38px;border-radius:50%}.mono{font-family:monospace}.bad{color:var(--warn);font-weight:900}
.proc-list{display:grid;gap:14px}.proc{display:grid;grid-template-columns:100px 1fr auto;gap:18px;align-items:center}.proc img{width:100px;height:80px;object-fit:cover;border-radius:14px}.proc-main h3{margin:7px 0}.numbers{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.numbers span,.numbers strong{padding:7px 10px;border-radius:10px;background:var(--soft)}.need{border-left:6px solid #c78383}.done{opacity:.65}.proc-btns{display:flex;gap:10px}.proc-btns button{font-size:18px;padding:18px}.proc-btns .minus{background:#b9adb8}.empty{text-align:center;padding:50px;color:var(--muted)}
.login-wrap{min-height:80vh;display:grid;place-items:center}.login-card{width:min(420px,92vw);background:#fff;padding:38px;border-radius:26px;border:1px solid var(--line);box-shadow:0 20px 50px rgba(60,40,70,.08)}.login-card input,.login-card button{width:100%}.login-card p,.hint{color:var(--muted)}.hint{margin-top:18px;font-size:13px}
tfoot td{font-size:18px;background:#fbfafc}
@media(max-width:850px){header{height:auto;padding:16px 4vw;align-items:flex-start}.brand span{display:block;margin:4px 0}.user{font-size:12px}.hero,.pagehead{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:repeat(2,1fr)}.quick{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.form-row{flex-direction:column}.proc{grid-template-columns:72px 1fr}.proc img{width:72px;height:72px}.proc-btns{grid-column:1/-1}.proc-btns button{flex:1;font-size:20px}.inline{width:100%;flex-direction:column}.inline input{min-width:0;width:100%}}

.claim-banner{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.claim-banner small,.muted{color:var(--muted)}.claim-banner h2{margin:4px 0 0}
.claim-grid{grid-template-columns:1fr 1fr}
.examples{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.examples code{background:var(--soft);padding:7px 9px;border-radius:9px}
.pending-item{padding:15px 0;border-bottom:1px solid var(--line)}.pending-item small{display:block;color:var(--warn);margin:5px 0 10px}
.resolve-form{display:grid;grid-template-columns:1.2fr 1fr 80px auto;gap:8px}.recent-card{margin-top:22px}.flat{border:0}.empty-mini{padding:30px 0;color:var(--muted);text-align:center}
@media(max-width:850px){.claim-banner{align-items:flex-start;flex-direction:column}.claim-grid{grid-template-columns:1fr}.resolve-form{grid-template-columns:1fr}.claim-banner .inline{width:100%}.claim-banner select{width:100%}}

.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mode-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;display:flex;gap:22px;align-items:flex-start;transition:.15s}.mode-card:hover{transform:translateY(-2px);box-shadow:0 16px 35px rgba(50,30,60,.08)}.mode-icon{font-size:46px}.mode-card small{letter-spacing:2px;color:var(--muted)}.mode-card h2{margin:6px 0 8px;font-size:28px}.mode-card p{font-size:16px;line-height:1.6}.mode-card span{font-size:13px;color:var(--muted)}
.preorder-layout{display:grid;grid-template-columns:340px 1fr;gap:22px}.preorder-create{position:sticky;top:20px;height:max-content}.preorder-list{display:grid;gap:16px}.preorder-item{display:grid;grid-template-columns:150px 1fr 220px;gap:18px;align-items:center}.preorder-item img{width:150px;height:120px;object-fit:cover;border-radius:16px}.row-top{display:flex;align-items:center;gap:8px}.status,.source-tag{padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.published,.preorder-tag{background:#e6f2e9;color:#39724a}.draft{background:#f2edf4;color:#76637e}.live-tag{background:#ece8f8;color:#5f5590}.manual-tag{background:#f3eee6;color:#836d4e}.price{font-size:23px;font-weight:900}.preorder-info h3{margin:8px 0}.preorder-actions{display:grid;gap:10px}.preorder-actions form{display:grid;gap:8px}.btn{display:inline-block;background:var(--accent);color:#fff;padding:12px 14px;border-radius:12px;text-align:center;font-weight:800}.secondary{background:var(--soft);color:var(--ink)}.mutebtn{background:#b9adb8}
.customer-page{min-height:100vh;display:grid;place-items:center;padding:24px}.customer-card,.confirm-card,.success-card{width:min(520px,96vw);background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 20px 60px rgba(60,40,70,.1)}.customer-img{width:100%;height:300px;object-fit:cover}.customer-body,.confirm-card,.success-card{padding:28px}.customer-body h1,.confirm-card h1{font-size:28px;margin:12px 0}.customer-price{font-size:30px;font-weight:900;margin:10px 0 20px}.customer-note{background:var(--soft);padding:12px;border-radius:12px;margin:12px 0}.variant-buttons{display:grid;gap:10px}.variant-buttons a{padding:16px;border-radius:14px;background:var(--accent);color:#fff;font-weight:900;text-align:center;font-size:18px}.confirm-variant{font-size:18px;background:var(--soft);padding:14px;border-radius:12px}.success-card{text-align:center}.success-check{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:#e7f4ea;color:#36744a;font-size:40px;font-weight:900}.success-order{background:var(--soft);padding:18px;border-radius:16px;line-height:1.8;margin:18px 0}.source-legend{display:flex;gap:16px;margin:0 0 14px}.source-legend span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.preorder-dot{background:#4b8c60}.live-dot{background:#655c9d}.manual-dot{background:#8a7454}
@media(max-width:900px){.mode-grid{grid-template-columns:1fr}.preorder-layout{grid-template-columns:1fr}.preorder-create{position:static}.preorder-item{grid-template-columns:90px 1fr}.preorder-item img{width:90px;height:90px}.preorder-actions{grid-column:1/-1}.customer-img{height:230px}}

.step{display:inline-block;background:var(--soft);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:1px;margin-bottom:10px}
.smalltext{font-size:12px;line-height:1.5}.mini-product{display:flex;gap:12px;align-items:center;background:#fbfafc;border:1px solid var(--line);padding:14px;border-radius:14px;margin:18px 0}
.account-check{display:flex;align-items:center;gap:14px;background:#fbfafc;border:1px solid var(--line);padding:15px;border-radius:16px;margin:18px 0}.account-check img{width:54px;height:54px;border-radius:50%;object-fit:cover}.account-check div{display:grid;gap:2px}.account-check small,.account-check span{color:var(--muted);font-size:12px}.account-check b{font-size:18px}
.confirm-summary{display:grid;grid-template-columns:120px 1fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;margin:18px 0}.confirm-summary img{width:120px;height:120px;object-fit:cover;border-radius:14px}.confirm-summary h2{margin:8px 0}.confirm-summary p{margin:7px 0}.confirm-summary .customer-price{margin:10px 0 0}
.confirm-final{font-size:19px;padding:17px}.cancel-link{display:block;text-align:center;margin-top:14px;color:var(--muted)}
.order-no{display:inline-block;background:var(--ink);color:#fff;padding:7px 11px;border-radius:9px;font-family:monospace;font-weight:900;letter-spacing:1px}.success-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.customer-orders-card{width:min(760px,96vw);background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 20px 60px rgba(60,40,70,.1)}.customer-order-list{display:grid;gap:10px}.customer-order-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:15px}.customer-order-row>div:first-child{display:grid;gap:4px}.customer-order-row span,.customer-order-row small{color:var(--muted);font-size:12px}.customer-order-row .right{text-align:right;display:grid;gap:5px}
@media(max-width:600px){.confirm-summary{grid-template-columns:80px 1fr}.confirm-summary img{width:80px;height:80px}.success-actions{grid-template-columns:1fr}.customer-order-row{align-items:flex-start}.customer-order-row .right{min-width:90px}}

.checkout-main-btn{display:block;background:var(--accent);color:#fff;padding:16px;border-radius:15px;text-align:center;font-size:19px;font-weight:900;margin:14px 0 8px}.checkout-open-note{text-align:center;color:var(--muted);font-size:13px}.checkout-closed{padding:16px;border-radius:14px;background:#f0edf1;color:var(--muted);text-align:center;margin:14px 0}.checkout-status{padding:20px;border-radius:18px;margin-bottom:18px;display:flex;gap:10px;flex-direction:column}.checkout-status.open{background:#e9f4ec;color:#366b45}.checkout-status.closed{background:#f1eef2;color:#716875}.toolbar{display:flex;align-items:center;gap:14px;margin:18px 0}.toolbar span{color:var(--muted);font-size:13px}.checkout-totals{margin:18px 0;background:#fbfafc;border:1px solid var(--line);border-radius:16px;padding:15px}.checkout-totals div{display:flex;justify-content:space-between;padding:8px 0}.checkout-totals .grand{font-size:20px;border-top:1px solid var(--line);margin-top:5px;padding-top:14px}.shipping-form{margin-top:22px}.shipping-reminder{background:var(--soft);padding:13px;border-radius:12px;margin:14px 0;color:var(--muted);font-size:13px}
@media(max-width:700px){.toolbar{align-items:stretch;flex-direction:column}}

.store-code-small{font-size:12px;opacity:.82}
.checkout-locked-badge{background:#ece8f0;color:#62576a;padding:13px;border-radius:12px;font-weight:800;margin-top:14px;text-align:center}

.alloc-list{display:grid;gap:14px}.alloc-card{display:grid;grid-template-columns:110px 1fr 260px;gap:18px;align-items:center}.alloc-card img{width:110px;height:90px;object-fit:cover;border-radius:14px}.alloc-card form{display:flex;gap:8px;align-items:end}.alloc-card label{margin:0}.section-ok{margin-top:28px;color:#3d744d}.section-wait{margin-top:28px;color:#7b6f4d}.section-no{margin-top:28px;color:#9b5555}.allocated-row{border-left:5px solid #6b9a77}.waiting-row{border-left:5px solid #b29b65}.no-row{border-left:5px solid #b76d6d;opacity:.82}.no-tag{background:#f7e8e8;color:#9a4f4f}.merge-box{margin-bottom:22px}
@media(max-width:800px){.alloc-card{grid-template-columns:80px 1fr}.alloc-card img{width:80px;height:70px}.alloc-card form{grid-column:1/-1;align-items:stretch;flex-direction:column}}

.danger-btn{background:#a95454!important;color:#fff!important}.action-stack{display:flex;gap:6px;flex-wrap:wrap}.warning-box{background:#fff0e6;border:1px solid #efc8ad;padding:15px;border-radius:14px;margin:16px 0;line-height:1.6}.problem-product{padding:12px 0}.test-actions{display:flex;gap:10px;margin-bottom:20px}.test-steps{line-height:2;padding-left:24px}.test-steps a{text-decoration:underline;font-weight:800}
@media(max-width:650px){.test-actions{flex-direction:column}.test-actions button{width:100%}}

.finance-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.finance-stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.finance-stat small{display:block;color:var(--muted);margin-bottom:6px}.finance-stat b{font-size:26px}.finance-stat span{display:block;margin-top:3px;color:var(--muted)}.finance-stat.profit{border:2px solid #8ea98f}.finance-stat.profit b{font-size:32px}.finance-grid{grid-template-columns:1fr 1fr}.formula{font-size:18px;line-height:1.7;background:var(--soft);padding:16px;border-radius:14px}.cost-edit{display:flex;gap:6px}.cost-edit input{width:100px;padding:8px}.cost-edit button{padding:8px 10px}
@media(max-width:900px){.finance-stats{grid-template-columns:repeat(2,1fr)}.finance-grid{grid-template-columns:1fr}}

.project-layout{display:grid;grid-template-columns:340px 1fr;gap:22px}.project-create{position:sticky;top:20px;height:max-content}.project-list{display:grid;gap:14px}.project-card h2{margin:8px 0}.project-top{display:flex;justify-content:space-between;gap:20px}.project-top p{color:var(--muted)}.project-count{text-align:center;min-width:80px}.project-count b{font-size:30px;display:block}.project-count span{font-size:12px;color:var(--muted)}.project-cost-mini{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.project-cost-mini span{background:var(--soft);padding:7px 9px;border-radius:9px;font-size:12px}.project-actions{display:flex;gap:8px;align-items:center}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.project-detail-grid{grid-template-columns:1fr 1fr}
@media(max-width:900px){.project-layout{grid-template-columns:1fr}.project-create{position:static}.project-detail-grid{grid-template-columns:1fr}.project-actions{align-items:stretch;flex-direction:column}}

.lock-btn{background:#55485f!important}.locked-box{background:#ede9ef;border-radius:12px;padding:10px 12px;font-weight:900}.locked-box small{font-weight:400;color:var(--muted)}.allocation-actions{display:grid;gap:8px}.project-close-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.closed-badge{padding:10px 12px;border-radius:12px;background:#eee9f0;font-weight:900}.final-shipping{background:#fbfafc;border:1px solid var(--line);border-radius:16px;padding:16px;margin:18px 0}.final-shipping p{margin:7px 0}

.member-search{display:flex;gap:8px;align-items:center}.member-search input{min-width:280px}
.priority-option{display:flex;align-items:center;gap:8px;background:#f3edf7;padding:12px;border-radius:12px;color:#5f4b6b}.priority-option input{width:auto;margin:0}
.priority-tag,.priority-badge{background:#f1e7f6;color:#704e80}.priority-badge{padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800}
@media(max-width:700px){.member-search{width:100%;flex-direction:column;align-items:stretch}.member-search input{min-width:0;width:100%}}

.member-actions{display:flex;gap:8px}.ship-btn{background:#54725d!important}.shipped-tag{background:#e5f2e8;color:#3c7249}

.merge-search-wrap{position:relative;margin:14px 0}.merge-search-wrap>input{width:100%}
.merge-results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 30px rgba(40,30,50,.12);max-height:300px;overflow:auto}
.merge-result-item{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:#fff;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px}
.merge-result-item:last-child{border-bottom:0}.merge-result-item:hover{background:#faf7fb}
.merge-result-item img,.selected-member img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.merge-result-item div,.selected-member div{display:grid;gap:3px}.merge-result-item span,.selected-member span{font-size:12px;color:var(--muted)}
.merge-no-result{padding:14px;color:var(--muted);text-align:center}
.merge-confirm-form{display:grid;gap:10px;margin-top:10px}.selected-member{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfafc}
.empty-selection{color:var(--muted)}.merge-confirm-form button:disabled{opacity:.45;cursor:not-allowed}
