#orderDialog{
  --order-border:#dce5dd;
  --order-soft:#f5f8f3;
  --order-muted:#68776f;
  width:min(650px,calc(100vw - 24px));
  max-height:92vh;
  overflow:auto;
  background:#fffefa;
  font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
  font-size:14px;
  line-height:1.6;
  letter-spacing:0;
}
#orderDialog .candidate-inner{display:grid;gap:18px;padding:30px 32px 34px}
#orderDialog .dialog-head{align-items:flex-start}
#orderDialog .dialog-head h2{margin:4px 0 0;font-family:inherit;font-size:26px;font-weight:700;line-height:1.3;letter-spacing:-.02em}
#orderDialog .dialog-head button{flex:0 0 auto;width:36px;height:36px;font:500 20px/1 inherit;color:#53645b}
.order-kicker{display:block;color:var(--green);font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.08em}
#orderDialog .order-intro{margin:-8px 0 2px;color:var(--order-muted);font-size:14px;line-height:1.75}
.order-section{display:grid;gap:13px;padding:18px;border:1px solid var(--order-border);border-radius:18px;background:#fff}
.order-preferences{background:var(--order-soft)}
.order-section-title{display:flex;align-items:center;gap:11px}
.order-section-title>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e5f0e8;color:var(--green);font-size:13px;font-weight:800}
.order-section-title>div{display:grid;gap:1px}
.order-section-title b{font-size:15px;font-weight:700;line-height:1.45}
.order-section-title small{color:var(--order-muted);font-size:12px;font-weight:400;line-height:1.5}
#orderDialog .field-label{display:grid;gap:8px;color:var(--ink2);font-size:13px;font-weight:650}
#orderDialog .field-label>small{margin-top:-6px;color:var(--order-muted);font-size:11px;font-weight:400}
#orderDialog input,#orderDialog textarea,#orderDialog select,#orderDialog button,#orderDialog a{font-family:inherit}
#orderDialog #orderMerchant,#orderDialog textarea{width:100%;border:1px solid #ccd9cf;border-radius:12px;background:#fff;color:var(--ink);font-size:14px;font-weight:400;outline:none;transition:border-color .18s,box-shadow .18s}
#orderDialog #orderMerchant{min-height:46px;padding:11px 13px}
#orderDialog textarea{min-height:112px;padding:12px 14px;line-height:1.7;resize:vertical}
#orderDialog #orderMerchant:focus,#orderDialog textarea:focus,#orderDialog select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(52,118,90,.11)}
#orderDialog ::placeholder{color:#9aa69f;opacity:1}
.order-check{display:flex;align-items:flex-start;gap:10px;color:var(--ink2);font-size:13px;font-weight:500;cursor:pointer}
.order-check input{flex:0 0 auto;width:17px;height:17px;margin:3px 0 0;accent-color:var(--green)}
.order-check span{display:grid;gap:1px}
.order-check small{color:var(--order-muted);font-size:11px;font-weight:400}
.order-file{display:block}
.order-file input{width:100%;padding:7px;border:1px dashed #b9cbbd;border-radius:12px;background:#f9fbf7;color:var(--order-muted);font-size:12px}
.order-file input::file-selector-button{margin-right:10px;border:0;border-radius:9px;background:#e5efe7;color:var(--ink);padding:9px 12px;font:600 12px inherit;cursor:pointer}
#orderDialog .save-goal{margin:0;width:100%;min-height:46px;border-radius:12px;font-size:14px;font-weight:700;letter-spacing:0}
#orderDialog .save-goal:hover{background:#23523f}
#orderDialog button:disabled{opacity:.45;cursor:not-allowed}
.order-text-button{justify-self:start;border:0;background:none;color:var(--green);padding:0;font-size:12px;font-weight:600;cursor:pointer}
.order-secondary-button{width:100%;min-height:43px;border:1px solid #cbd9ce;border-radius:12px;background:var(--order-soft);color:var(--ink2);font-size:13px;font-weight:650;cursor:pointer}
.order-secondary-button:hover,.order-text-button:hover{text-decoration:underline;text-underline-offset:3px}
.order-divider{display:flex;align-items:center;gap:10px;color:#95a199;font-size:11px}
.order-divider::before,.order-divider::after{content:"";height:1px;flex:1;background:#e4e9e3}
#orderDialog .vision-note,#orderDialog .order-status{margin:0;color:var(--order-muted);font-size:12px;line-height:1.65}
#orderDialog #visionSignIn{display:block;border-radius:12px;background:#e9f2eb;color:var(--green);padding:11px 14px;text-align:center;text-decoration:none;font-size:13px;font-weight:700}
#orderDialog details{border-radius:12px;background:#f5f6f1;padding:10px 12px;color:var(--order-muted);font-size:12px}
#orderDialog summary{cursor:pointer;font-weight:600}
#rawOrderText{white-space:pre-wrap;overflow-wrap:anywhere;max-height:150px;overflow:auto;margin:10px 0 0;font:400 12px/1.65 inherit;color:var(--ink2)}
#orderDialog .candidate-list{display:grid;gap:10px;max-height:none;overflow:visible}
.order-row{display:grid;gap:11px;padding:15px;border:1px solid var(--order-border);border-radius:14px;background:#fafcf8}
.order-row>label:first-child{display:flex;align-items:flex-start;gap:9px;overflow-wrap:anywhere;font-size:14px;line-height:1.55}
.order-row input[type=checkbox]{flex-shrink:0;width:17px;height:17px;margin-top:2px;accent-color:var(--green)}
.order-choice{display:grid;gap:6px;color:var(--order-muted);font-size:12px}
.order-choice select{width:100%;min-width:0;padding:10px 12px;border:1px solid #cbd8cd;border-radius:10px;background:#fff;color:var(--ink);font-size:13px}
.order-row small{color:var(--order-muted);font-size:11px;line-height:1.6}
.portion-quick{display:flex;flex-wrap:wrap;align-items:center;gap:7px;grid-column:1/-1;font-size:12px}
.portion-quick button{border:1px solid #cbd8cd;border-radius:16px;background:#f5f8f3;color:#214b3c;padding:7px 10px;cursor:pointer}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:680px){
  #orderDialog{width:calc(100vw - 16px);max-height:94vh;border-radius:22px}
  #orderDialog .candidate-inner{gap:14px;padding:22px 18px 26px}
  #orderDialog .dialog-head h2{font-size:23px}
  #orderDialog .order-intro{font-size:13px}
  .order-section{padding:15px;border-radius:15px}
}
