:root{--gd-bg0: #e8eef4;--gd-bg1: #f3f6f9;--gd-surface: rgba(255, 255, 255, .92);--gd-card: #ffffff;--gd-primary: #0f766e;--gd-primary-2: #0d9488;--gd-primary-soft: #ccfbf1;--gd-ink: #0f172a;--gd-text: #1e293b;--gd-sub: #64748b;--gd-line: #e2e8f0;--gd-danger: #dc2626;--gd-warn: #c2410c;--gd-ok: #15803d;--gd-radius: 16px;--gd-shadow: 0 10px 30px rgba(15, 23, 42, .06);--gd-tab-h: calc(58px + env(safe-area-inset-bottom)) ;--font-display: "Sora", "Noto Sans SC", sans-serif;--font-body: "Noto Sans SC", "PingFang SC", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{margin:0;min-height:100%;color:var(--gd-text);font-family:var(--font-body);background:radial-gradient(1200px 420px at 10% -10%,rgba(13,148,136,.18),transparent 55%),radial-gradient(900px 380px at 100% 0%,rgba(14,116,144,.12),transparent 50%),linear-gradient(180deg,var(--gd-bg0),var(--gd-bg1) 40%,#f8fafc);background-attachment:fixed}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--gd-primary);text-decoration:none}button{cursor:pointer}.page{max-width:480px;margin:0 auto;min-height:100vh;padding:16px 16px calc(var(--gd-tab-h) + 16px);animation:page-in .28s ease}.page.no-tab{padding-bottom:calc(24px + env(safe-area-inset-bottom))}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.topbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;min-height:40px}.topbar h1{margin:0;flex:1;font-size:20px;font-weight:700;letter-spacing:.02em;color:var(--gd-ink)}.topbar .back,.topbar .link{border:0;background:transparent;color:var(--gd-primary);font-size:14px;font-weight:600;padding:6px 2px;flex:none}.topbar .back{width:36px;height:36px;border-radius:12px;background:var(--gd-card);box-shadow:var(--gd-shadow);display:grid;place-items:center;color:var(--gd-ink);padding:0}.topbar .back svg{width:18px;height:18px}.hero{position:relative;overflow:hidden;border-radius:22px;padding:22px 20px 20px;margin-bottom:16px;color:#ecfeff;background:linear-gradient(135deg,#115e59,#0f766e 48%,#0e7490);box-shadow:0 16px 36px #0f766e47}.hero:after{content:"";position:absolute;right:-30px;top:-40px;width:160px;height:160px;border-radius:50%;background:#ffffff14}.hero .brand{font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin-bottom:8px}.hero h2{margin:0 0 8px;font-size:24px;line-height:1.25;font-weight:700;position:relative;z-index:1}.hero p{margin:0;font-size:13px;line-height:1.6;opacity:.88;position:relative;z-index:1}.card{background:var(--gd-card);border-radius:var(--gd-radius);padding:16px;margin-bottom:12px;box-shadow:var(--gd-shadow);border:1px solid rgba(226,232,240,.9)}.section-title{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--gd-ink)}.btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;border:0;border-radius:14px;height:48px;font-size:16px;font-weight:600;background:linear-gradient(135deg,var(--gd-primary),var(--gd-primary-2));color:#fff;box-shadow:0 10px 20px #0f766e40;transition:transform .12s ease,opacity .12s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;box-shadow:none}.btn-ghost{background:#fff;color:var(--gd-primary);border:1px solid rgba(15,118,110,.35);box-shadow:none}.btn-block-gap{margin-top:12px}.field{margin-bottom:14px}.field:last-child{margin-bottom:0}.label{display:block;font-size:13px;font-weight:500;color:var(--gd-sub);margin:0 0 8px}.input,textarea.input{width:100%;border:1px solid var(--gd-line);border-radius:12px;padding:12px 14px;font-size:15px;background:#f8fafc;outline:none;transition:border-color .15s,background .15s,box-shadow .15s}.input:focus,textarea.input:focus{border-color:#0f766e8c;background:#fff;box-shadow:0 0 0 3px #0d94881f}textarea.input{resize:vertical;min-height:96px;line-height:1.5}.sms-row{display:flex;gap:8px;align-items:center}.sms-row .input{flex:1;min-width:0}.sms-row .btn{width:auto;flex:none;min-width:118px;height:46px;padding:0 12px;font-size:13px;box-shadow:none}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--gd-line);background:#f8fafc;color:var(--gd-sub);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:500}.chip.on{border-color:transparent;background:var(--gd-primary-soft);color:var(--gd-primary)}.chip-badge-wrap{position:relative;overflow:visible}.chip-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--gd-primary);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #dc2626; color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; box-sizing: border-box; box-shadow: 0 0 0 2px #fff; } .order-card{display:block;padding:14px 14px 12px;border-radius:16px;background:var(--gd-card);border:1px solid var(--gd-line);box-shadow:var(--gd-shadow);color:inherit;margin-bottom:10px}.order-card .head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.order-card .no{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--gd-ink);letter-spacing:.02em}.order-card .body{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:13px;color:var(--gd-sub)}.order-card .foot{margin-top:10px;padding-top:10px;border-top:1px dashed var(--gd-line);font-size:12px;color:#94a3b8}.status{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.status-pending{background:#ffedd5;color:#c2410c}.status-assigned{background:#e0f2fe;color:#0369a1}.status-processing{background:#ccfbf1;color:#0f766e}.status-review{background:#fef3c7;color:#b45309}.status-done{background:#dcfce7;color:#15803d}.status-cancelled{background:#f1f5f9;color:#64748b}.status-default{background:#e2e8f0;color:#475569}.timeline{position:relative;padding-left:18px}.timeline:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--gd-line)}.timeline-item{position:relative;padding:0 0 14px}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:-16px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--gd-primary);box-shadow:0 0 0 3px var(--gd-primary-soft)}.timeline-item .t-action{font-size:14px;font-weight:600;color:var(--gd-ink)}.timeline-item .t-meta{margin-top:4px;font-size:12px;color:var(--gd-sub);line-height:1.5}.upload-row{display:flex;flex-wrap:wrap;gap:10px}.upload-add,.thumb{width:78px;height:78px;border-radius:14px;overflow:hidden;position:relative}.upload-add{border:1.5px dashed #94a3b8;background:#f8fafc;color:var(--gd-sub);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px}.upload-add input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb .x{position:absolute;top:4px;right:4px;width:20px;height:20px;border:0;border-radius:50%;background:#0f172aa6;color:#fff;font-size:12px;line-height:20px;text-align:center;padding:0}.empty{text-align:center;padding:48px 20px;color:var(--gd-sub)}.empty .illu{width:72px;height:72px;margin:0 auto 14px;border-radius:20px;background:var(--gd-primary-soft);color:var(--gd-primary);display:grid;place-items:center}.empty .illu svg{width:34px;height:34px}.empty strong{display:block;color:var(--gd-ink);margin-bottom:6px;font-size:15px}.kv{display:grid;gap:10px}.kv-row{display:flex;justify-content:space-between;gap:12px;font-size:14px}.kv-row .k{color:var(--gd-sub);flex:none}.kv-row .v{color:var(--gd-ink);text-align:right;word-break:break-all}.content-block{margin-top:12px;padding-top:12px;border-top:1px solid var(--gd-line);font-size:14px;line-height:1.65;color:var(--gd-text);white-space:pre-wrap}.sticky-actions{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));margin-top:16px;padding:10px;border-radius:18px;background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 28px #0f172a1a}.login-page{max-width:480px;margin:0 auto;min-height:100vh;padding:28px 20px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center;animation:page-in .3s ease}.login-mark{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;margin-bottom:18px;background:linear-gradient(135deg,#115e59,#0ea5a4);color:#fff;box-shadow:0 14px 28px #0f766e4d}.login-mark svg{width:28px;height:28px}.login-page .brand-name{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--gd-ink);margin:0 0 6px}.login-page .brand-sub{margin:0 0 28px;color:var(--gd-sub);font-size:14px;line-height:1.5}.sms-row .btn-ghost{width:auto;min-width:118px;height:46px;padding:0 12px;font-size:13px}.login-sheet{background:#fffffff0;border:1px solid rgba(226,232,240,.95);border-radius:22px;padding:20px 18px;box-shadow:var(--gd-shadow)}.toast{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translate(-50%);background:#0f172ae0;color:#fff;padding:10px 16px;border-radius:999px;font-size:13px;z-index:99;max-width:80%;text-align:center}.tabbar{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(480px,100%);height:var(--gd-tab-h);padding:8px 12px env(safe-area-inset-bottom);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(226,232,240,.95);display:grid;grid-template-columns:1fr 1fr;z-index:40}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#94a3b8;font-size:11px;font-weight:500}.tabbar a svg{width:22px;height:22px}.tabbar a.active{color:var(--gd-primary);font-weight:700}
