:root{--navy:#0d2d5b;--gold:#d4a259;--paper:#fbf9f4;--border:#e7e1d8;--ink:#1f2937;--muted:#6b7280;--radius:12px;--shadow:0 4px 16px #0d2d5b0f}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.65 Inter,system-ui,"PingFang SC","Microsoft YaHei",sans-serif}main{max-width:1320px;padding:28px;margin:auto}header{display:flex;justify-content:space-between;gap:20px;align-items:center}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);font-weight:700}.brand img{width:54px;height:54px;object-fit:contain;border-radius:50%;background:#fff}.brand small{display:block;font-weight:400;color:var(--muted)}.hero{margin:28px 0;background:var(--navy);border-radius:18px;padding:35px;color:white;position:relative;overflow:hidden}.hero:after{content:'🍱';position:absolute;right:20px;top:10px;font-size:130px;opacity:.07;pointer-events:none}.hero span{color:#e8c594;font-size:12px;letter-spacing:2px}.hero h1{font-size:30px;line-height:1.35;margin:12px 0}.hero p{max-width:760px;color:#e4eaf3}h2{color:var(--navy);font-size:23px}h3{font-size:19px;color:var(--navy)}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--navy);font:inherit;text-decoration:none;cursor:pointer;gap:8px}button:hover,.button:hover{background:#f3ecdf;box-shadow:0 2px 8px #0d2d5b10}button.primary,.button.primary{background:var(--navy);border-color:var(--navy);color:white}button.primary:hover{background:#174578}button.danger{color:#c0392b;border-color:#e9c5c1}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:18px}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin:18px 0}.grid>.card{margin:0}.muted,small{color:var(--muted)}.money{font-size:28px;font-weight:650;color:var(--navy)}.badge{display:inline-block;font-size:13px;border-radius:20px;padding:4px 10px;background:#edf2fa;color:var(--navy)}.badge.warning{background:#fff1db;color:#96570d}.badge.success{background:#e1f4e9;color:#23794b}.badge.error{background:#fae5e2;color:#b22c21}.notice{background:#f7efe1;border-left:3px solid var(--gold);padding:14px;border-radius:9px}#message{padding:12px;border-radius:9px;background:#eaf0f7;min-height:48px}#message.error,.form-error{color:#b22c21;background:#fff0ee}.form-error{padding:10px;min-height:40px}#pt-nav{display:flex;gap:10px;overflow:auto;margin:18px 0;padding:4px}#pt-nav button{white-space:nowrap}#pt-nav .active{background:var(--navy);color:white}label{display:block;margin:13px 0;font-weight:500}input,textarea,select{display:block;width:100%;padding:11px;border:1px solid #d9dee7;border-radius:8px;background:white;color:var(--ink);font:inherit;min-height:44px;margin-top:6px}input:focus,textarea:focus,select:focus{outline:2px solid #0d2d5b24;border-color:var(--navy)}input[type=checkbox]{display:inline-block;width:auto;min-height:18px;margin-right:7px}input[type=number]{max-width:150px}.selection-card img{width:100%;height:155px;object-fit:cover;border-radius:9px}.dish-art{display:grid;place-items:center;height:120px;background:#f5e9d7;border-radius:9px;font-size:50px}.selection-card h3{margin:10px 0}.selected{border:2px solid var(--gold)}.quantity{display:flex;gap:8px;align-items:center}.quantity input{width:75px;margin:0;text-align:center}.selection-summary{position:sticky;top:12px;z-index:2;background:#fffefb;border:1px solid var(--gold);border-radius:12px;padding:15px;box-shadow:0 4px 22px #0d2d5b18;margin:20px 0}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{background:#f7f0e4;color:var(--navy)}td,th{padding:12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;white-space:nowrap}tr:hover td{background:#fbf9f4}dialog{width:720px;max-width:94vw;max-height:90vh;overflow:auto;border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 10px 50px #0d2d5b25}dialog::backdrop{background:#102b4d77}dialog .dialog-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}dialog .actions{border-top:1px solid var(--border);margin-top:20px;padding-top:15px}.empty{text-align:center;padding:38px;color:var(--muted)}.empty b{display:block;color:var(--navy);font-size:18px}.skeleton{height:140px;margin:18px 0;border-radius:12px;background:linear-gradient(90deg,#eee8df,#faf8f4,#eee8df);background-size:200% 100%;animation:loading 1.5s infinite}.guide-icon{font-size:52px;display:block}.guide-step{display:inline-block;color:#9b7337;font-size:13px}.guide-card{animation:enter .25s ease-out}.guide-card h2{margin-top:8px}.guide-progress{height:5px;border-radius:5px;background:#e7e1d8;margin-top:16px;overflow:hidden}.guide-progress span{display:block;height:100%;background:var(--gold)}video{max-width:100%;border-radius:12px}.proof{max-width:200px;max-height:180px;border-radius:9px}@keyframes loading{to{background-position:-200% 0}}@keyframes enter{from{transform:translateY(8px);opacity:.5}to{transform:translateY(0);opacity:1}}@media(min-width:1100px){body[data-role]:not([data-role=customer]) #pt-nav{position:sticky;top:20px;float:left;flex-direction:column;width:205px;overflow:visible}body[data-role]:not([data-role=customer]) #pt-content{margin-left:230px;min-height:50vh}}@media(max-width:600px){main{padding:14px}.hero{padding:22px}.hero h1{font-size:25px}.card{padding:18px}.grid{grid-template-columns:1fr}.row>*{max-width:100%}.brand img{width:42px;height:42px}.brand{font-size:13px}.brand small{font-size:11px}header .button{padding:8px;font-size:13px}.money{font-size:25px}.selection-summary{top:6px}dialog{padding:17px}.quantity{justify-content:space-between}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

.card small{overflow-wrap:anywhere;display:block}body[data-role=supplier]{--navy:#5b3a1b;--gold:#d68b1f;--paper:#fcf8f1}body[data-role=supplier] .hero{background:#5b3a1b}
