/* ===== Sunrise Parts — Premium Redesign (2026-10-07) ===== */
/* 功能零改动，纯视觉升级：胶囊 Tab、卡片布局、精致按钮、优化表格 */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#f6f8fb;--ink:#1e293b;--muted:#64748b;--faint:#94a3b8;
  --line:#e2e8f0;--line-soft:#f1f5f9;
  --blue:#1d4ed8;--blue-hover:#1e40af;--blue-dark:#1e3a8a;
  --blue-soft:#eff6ff;--blue-line:#bfdbfe;
  --green:#15803d;--green-soft:#f0fdf4;--green-line:#bbf7d0;
  --red:#dc2626;--red-soft:#fef2f2;--red-line:#fecaca;
  --amber:#b45309;--amber-soft:#fffbeb;--amber-line:#fde68a;
  --radius:12px;--radius-sm:8px;
  --shadow:0 1px 3px rgba(15,23,42,.08),0 1px 2px rgba(15,23,42,.06);
  --shadow-md:0 4px 12px rgba(15,23,42,.08),0 2px 4px rgba(15,23,42,.06);
  --shadow-lg:0 10px 28px rgba(15,23,42,.10),0 4px 10px rgba(15,23,42,.06);
}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.6;padding:20px;margin:0;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}

/* ===== Header ===== */
header{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 24px;margin-bottom:20px;box-shadow:var(--shadow)}
header h1{font-size:22px;color:var(--blue-dark);font-weight:800;margin-bottom:2px;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.hctl{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:14px}
.hrow1{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}

/* ===== Brand ===== */
.brand{font-size:22px;font-weight:800;display:flex;align-items:center;gap:10px;color:var(--blue-dark);letter-spacing:-.02em}
.brand-logo{height:38px;width:auto;max-width:200px;object-fit:contain}
.brand small{font-weight:400;font-size:13px;color:var(--muted);margin-left:8px}

/* ===== Navigation Tabs (胶囊形) ===== */
nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap;background:#f1f5f9;border-radius:999px;padding:5px;border:1px solid var(--line)}
nav button,.btn{background:transparent;color:var(--muted);border:none;padding:10px 18px;border-radius:999px;cursor:pointer;font-size:14px;font-weight:600;min-height:40px;transition:all .18s ease;white-space:nowrap}
nav button:hover,.btn:hover{background:#fff;color:var(--blue-dark);box-shadow:var(--shadow)}
nav button.active{background:#fff;color:var(--blue);font-weight:700;box-shadow:var(--shadow-md)}
/* Tab 图标 (Unicode) */
#nav-search::before{content:"🔍 ";font-size:13px}
#nav-cart::before{content:"📋 ";font-size:13px}
#nav-orders::before{content:"📦 ";font-size:13px}
#nav-tracking::before{content:"🚚 ";font-size:13px}
#nav-profile::before{content:"👤 ";font-size:13px}

/* ===== 搜索页 Tab (收藏夹/单个搜索/批量查询) ===== */
.tabs{display:flex;gap:6px;margin-bottom:18px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px;box-shadow:var(--shadow)}
.tab{flex:1;min-width:0;text-align:center;padding:11px 12px;border:none;background:transparent;border-radius:12px;cursor:pointer;font-weight:600;font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;transition:all .18s ease}
.tab:hover{color:var(--blue-dark);background:var(--line-soft)}
.tab.active{background:var(--blue);color:#fff;box-shadow:0 2px 8px rgba(29,78,216,.3)}
/* 搜索页 Tab 图标 */
.tabs .tab:nth-child(1)::before{content:"🔍 "}
.tabs .tab:nth-child(2)::before{content:"📝 "}
.tabs .tab:nth-child(3)::before{content:"⭐ "}

/* ===== Buttons ===== */
button.primary{background:linear-gradient(135deg,var(--blue),#2563eb);color:#fff;border:none;padding:12px 28px;font-size:15px;border-radius:10px;cursor:pointer;font-weight:600;min-height:44px;box-shadow:0 2px 8px rgba(29,78,216,.25);transition:all .18s ease}
button.primary:hover{background:linear-gradient(135deg,var(--blue-hover),var(--blue));box-shadow:0 4px 14px rgba(29,78,216,.35);transform:translateY(-1px)}
button.primary:active{transform:translateY(0)}
button.secondary{background:#fff;color:var(--blue-dark);border:1.5px solid var(--line);padding:10px 20px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;min-height:42px;transition:all .18s ease}
button.secondary:hover{border-color:var(--blue);color:var(--blue);box-shadow:var(--shadow);transform:translateY(-1px)}
.addbtn{background:linear-gradient(135deg,var(--blue),#2563eb);color:#fff;border:none;padding:9px 20px;font-size:13px;border-radius:8px;cursor:pointer;margin-top:6px;min-height:38px;font-weight:600;box-shadow:0 2px 6px rgba(29,78,216,.2);transition:all .18s ease}
.addbtn:hover{background:var(--blue-hover);box-shadow:0 4px 10px rgba(29,78,216,.3)}
/* 收藏按钮 */
.fav-btn{transition:all .18s ease}
.fav-btn.on{background:#fef3c7 !important;border-color:#fcd34d !important;color:#92400e !important}

/* ===== Panels & Cards ===== */
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow);margin-bottom:20px}
.panel h2{font-size:18px;margin-bottom:14px;color:var(--ink);font-weight:700;letter-spacing:-.01em}
.panel h3{font-size:15px;color:var(--ink);margin:16px 0 10px;font-weight:700}
.gate{max-width:420px;margin:24px auto;padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-lg)}

/* ===== Forms ===== */
input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{width:100%;padding:12px 16px;font-size:15px;border:1.5px solid var(--line);border-radius:10px;margin-bottom:12px;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(29,78,216,.12)}
textarea{height:130px;font-family:ui-monospace,Menlo,monospace;font-size:14px}
.hint{font-size:12.5px;color:var(--muted);margin-bottom:10px;line-height:1.6}
.note{color:var(--muted);font-size:13px;line-height:1.7}
label{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:4px;display:block}

/* ===== Notices ===== */
.notice{border-radius:12px;padding:14px 18px;font-size:13.5px;margin-bottom:16px;line-height:1.65;border-left-width:4px;border-left-style:solid}
.notice.warn{background:var(--amber-soft);border:1px solid var(--amber-line);border-left-color:var(--amber);color:#92400e}
.notice.err{background:var(--red-soft);border:1px solid var(--red-line);border-left-color:var(--red);color:#991b1b}
.notice.ok{background:var(--green-soft);border:1px solid var(--green-line);border-left-color:var(--green);color:#14532d}

/* ===== Tables ===== */
table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
th{background:#f8fafc;color:var(--muted);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
tbody tr:last-child td{border-bottom:none}
tbody tr{transition:background .15s ease}
tbody tr:hover td{background:#f8fafc}
table.grid th,table.grid td{border-right:1px solid var(--line-soft)}
table.grid th:last-child,table.grid td:last-child{border-right:none}
/* exact-match row */
tbody tr.exact-hit td,tbody tr.exact-hit:hover td{background-color:#f0fdf4}
.exact-hint{font-size:12px;color:var(--muted);margin:0 0 10px;display:flex;align-items:center;gap:6px}
.exact-hint::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:#bbf7d0;border:1px solid #86efac}

/* ===== Badges ===== */
.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:4px 12px;border-radius:999px;margin-left:8px;vertical-align:middle;white-space:nowrap;letter-spacing:.02em}
.badge.ok{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}
.badge.disc{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}
.badge.warn{background:#fef3c7;color:#b45309;border:1px solid #fde68a}
.badge.bad{background:#dc2626;color:#fff;font-weight:700;border:1px solid #dc2626}
.badge.guest{background:#e0e7ff;color:#4338ca;border:1px solid #c7d2fe}

/* ===== Price ===== */
.price{font-weight:700;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:15px}
.pn{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;color:var(--blue);cursor:pointer;font-size:13.5px}
.pn:hover{text-decoration:underline;color:var(--blue-hover)}
td.pr,td.price{text-align:right;white-space:nowrap}
.locktag{font-size:11px;color:var(--green);font-weight:600;margin-top:4px;display:inline-flex;align-items:center;gap:4px}
.locktag::before{content:"🔒";font-size:10px}

/* ===== User Box ===== */
.userbox{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid var(--blue-line);border-radius:12px;padding:10px 18px;font-size:14px;line-height:1.6;color:var(--blue-dark);text-align:left;box-shadow:var(--shadow)}
.userbox small{color:var(--muted)}
.userbox .ok{color:var(--green);font-weight:700}

/* ===== Views ===== */
.view{display:none}
.view.active{display:block;animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
main{width:100%;margin:0;flex:1}
footer{font-size:12px;color:var(--faint);margin-top:24px;text-align:center;padding:16px}
footer a{color:var(--blue)}

/* ===== Cart ===== */
.cart-line{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-soft);font-size:14px}
.cart-line .grow{flex:1}
.cart-line input[type=number]{width:80px;margin:0}

/* ===== Misc ===== */
.result-meta{font-size:13px;color:var(--muted);margin:16px 0 10px;display:flex;align-items:center;gap:8px}
.linklike{background:none;border:none;color:var(--blue);cursor:pointer;font-size:13px;font-weight:600;padding:4px 8px;border-radius:6px;transition:background .15s}
.linklike:hover{background:var(--blue-soft);text-decoration:none}
.hdr-label{font-size:13px;color:var(--muted);font-weight:600}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
#captcha-box{margin:14px 0}
.subtable{margin:10px 0;font-size:13px}
.confirm{background:var(--green-soft);border:1px solid var(--green-line);border-left:4px solid var(--green);border-radius:12px;padding:16px 18px;margin-top:14px;font-size:14px;line-height:1.7;color:#14532d}
.notfound{background:var(--red-soft);border:1px solid var(--red-line);border-radius:10px;padding:12px 16px;margin:10px 0;font-size:13px;color:#991b1b}

/* ===== Scrollbars ===== */
.tbl-scroll{overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9;border-radius:12px;border:1px solid var(--line)}
.tbl-scroll::-webkit-scrollbar{height:10px}
.tbl-scroll::-webkit-scrollbar-track{background:#f1f5f9;border-radius:5px}
.tbl-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:5px}
.tbl-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8}
.tbl-scroll table{border:none;border-radius:0}
.tbl-scroll thead th{position:sticky;top:0;background:#f8fafc;z-index:2}

/* ===== Gate ===== */
body.gate-mode{background:linear-gradient(135deg,#f6f8fb 0%,#eef2ff 100%)}
body.gate-mode header .hrow1,
body.gate-mode header nav,
body.gate-mode .hctl .lang-switch,
body.gate-mode #guest-banner,
body.gate-mode #hdr-userbox,
body.gate-mode #admin-top,
body.gate-mode #partner-top,
body.gate-mode .cur-switch,
body.gate-mode .cur-lock,
body.gate-mode .fx-live-line,
body.gate-mode #quicknav,
body.gate-mode footer,
body.gate-mode #to-top{display:none !important}
body.gate-mode header{border:0;background:transparent;box-shadow:none;padding:0}
body.gate-mode main{max-width:780px;margin:0 auto}
.gate-wrap{display:flex;justify-content:center;padding:56px 16px}
.gate-door{flex:1;min-width:260px;max-width:360px;border:1px solid var(--line);border-radius:20px;padding:28px;background:#fff;box-shadow:var(--shadow-lg);transition:transform .2s ease,box-shadow .2s ease}
.gate-door:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(15,23,42,.12)}
.gate-door h3{font-size:16px;margin:0 0 12px;font-weight:700}
.gate-door .primary{width:100%;margin-top:14px}
/* OR 分隔 */
.gate-or{display:flex;align-items:center;justify-content:center;padding:0 4px}
.gate-or span{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#fff;border:1.5px solid var(--line);color:var(--muted);font-weight:700;font-size:14px;letter-spacing:.08em;box-shadow:var(--shadow)}
.gate-doors{display:flex;gap:0;align-items:stretch;justify-content:center;max-width:900px;margin:0 auto}
.gate-or{display:flex;align-items:center;justify-content:center;padding:0 20px;flex-shrink:0}
.gate-lang{position:absolute;top:18px;right:24px;z-index:10;display:flex;align-items:center;gap:8px}

/* ===== Spinner ===== */
.spinner{width:36px;height:36px;border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== Mobile ===== */
@media(max-width:640px){
  body{padding:12px;font-size:14px}
  header{padding:16px;border-radius:12px}
  .panel{padding:16px;border-radius:12px}
  table.search-grid .mhide{display:none}
  button{min-height:44px;min-width:44px}
  .grid{font-size:13px}
  .form-row{grid-template-columns:1fr}
  nav button{padding:8px 14px;font-size:13px}
  .tabs{padding:4px}
  .tab{padding:9px 8px;font-size:13px}
  /* 2026-10-07: 手机上门页改上下布局 */
  .gate-doors{flex-direction:column;align-items:center}
  .gate-or{padding:16px 0}
  .gate-or span{transform:rotate(90deg)}
  .gate-door{max-width:100%;width:100%}
}
