/* 答蟹大闸蟹提货系统 —— 共享样式 */
:root{
  --brand:#d8442b; --brand-dark:#b3331e; --brand-soft:#fff1ec; --accent:#f0a020;
  --ink:#2a2320; --muted:#8a7f78; --line:#ece2db; --bg:#fbf6f1;
  --ok:#2e9e5b; --info:#2b6cb0; --card:#fff; --radius:14px; --shadow:0 6px 24px rgba(120,60,30,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:560px;margin:0 auto;padding:0 16px 48px}
.wrap-wide{max-width:1080px}
.hero{background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;padding:28px 16px 22px;text-align:center;position:relative;overflow:hidden}
.hero::after{content:"🦀";position:absolute;right:-8px;bottom:-16px;font-size:96px;opacity:.14;transform:rotate(-12deg)}
.hero h1{margin:0;font-size:21px;letter-spacing:.5px}
.hero p{margin:6px 0 0;font-size:13px;opacity:.92}
.hero .hotline{margin-top:8px;font-size:12px;opacity:.85}
.mode-bar{font-size:12px;text-align:center;padding:6px 12px;color:#7a5b00;background:#fff7e0;border-bottom:1px solid #f3e6b8}
.mode-bar.cloud{color:#0a5;background:#e9fbf0;border-bottom-color:#c6efd6}
.tabs{display:flex;gap:8px;margin:18px 0 16px}
.tab{flex:1;text-align:center;padding:11px 8px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:15px;font-weight:600;cursor:pointer;transition:.15s}
.tab.active{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:var(--shadow)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 18px;margin-bottom:16px}
.card h2{margin:0 0 4px;font-size:17px}
.card .sub{color:var(--muted);font-size:13px;margin:0 0 16px}
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.field label .req{color:var(--brand)}
input,select,textarea{width:100%;padding:12px 13px;font-size:15px;color:var(--ink);border:1px solid var(--line);border-radius:10px;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
textarea{resize:vertical;min-height:64px}
.row2{display:flex;gap:12px}
.row2>.field{flex:1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:13px 16px;font-size:16px;font-weight:700;color:#fff;background:var(--brand);border:none;border-radius:11px;cursor:pointer;transition:.15s}
.btn:hover{background:var(--brand-dark)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--brand)}
.btn.ghost:hover{background:var(--brand-soft)}
.btn.sm{width:auto;padding:8px 14px;font-size:13px;font-weight:600;border-radius:9px}
.btn.gray{background:#efe9e3;color:#6a5f58}
.btn.gray:hover{background:#e4ddd5}
.btn.danger{background:#fff;color:#c0392b;border:1px solid #f0c4be}
.btn.danger:hover{background:#fdecea}
.alert{padding:11px 13px;border-radius:10px;font-size:14px;margin-bottom:14px}
.alert.err{background:#fdecea;color:#b3331e;border:1px solid #f5c6c0}
.alert.ok{background:#e9fbf0;color:#1d7a45;border:1px solid #bfe9cf}
.alert.info{background:#eef5fd;color:#235e96;border:1px solid #cfe0f3}
.hidden{display:none!important}
.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}
.badge.pending{background:#fff3df;color:#a9690a}
.badge.shipped{background:#e8f1fd;color:#2256a8}
.badge.delivered{background:#e7f8ee;color:#1d7a45}
.badge.cancelled{background:#f0ecea;color:#8a7f78}
.badge.unused{background:#e7f8ee;color:#1d7a45}
.badge.used{background:#f0ecea;color:#8a7f78}
.result{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;background:#fff}
.result .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.result .top strong{font-size:15px}
.kv{display:flex;font-size:13px;margin:3px 0}
.kv .k{color:var(--muted);width:78px;flex-shrink:0}
.kv .v{color:var(--ink);flex:1;word-break:break-all}
.copy{color:var(--info);cursor:pointer;font-size:12px;margin-left:6px}
.success{text-align:center;padding:8px 4px 4px}
.success .ico{font-size:46px}
.success .ono{font-size:18px;font-weight:800;color:var(--brand);letter-spacing:1px;margin:6px 0}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.toolbar input,.toolbar select{width:auto;min-width:140px;flex:0 0 auto}
.toolbar .spacer{flex:1}
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
th{background:#faf3ee;color:#7a6c63;font-weight:600;white-space:nowrap}
tr:last-child td{border-bottom:none}
td input,td select{padding:7px 9px;font-size:13px}
.empty{text-align:center;color:var(--muted);padding:28px 12px}
.stat-row{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.stat{flex:1;min-width:120px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center;box-shadow:var(--shadow)}
.stat .n{font-size:26px;font-weight:800;color:var(--brand)}
.stat .l{font-size:12px;color:var(--muted);margin-top:2px}
.foot{text-align:center;color:var(--muted);font-size:12px;margin-top:18px}
.foot a{color:var(--brand);text-decoration:none}
.adminlink{position:fixed;right:12px;bottom:12px;font-size:12px;color:var(--muted);text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;box-shadow:var(--shadow)}
hr.sep{border:none;border-top:1px solid var(--line);margin:18px 0}
