/* ==========================================================================
   瑞欧美业 · 管理后台 —— 基础层（设计令牌 / 重置 / 通用原子类）
   设计令牌与组件类名沿用产品原型，便于与原型逐像素对照
   ========================================================================== */

/* ---------- 0. 设计令牌 ---------- */
:root{
  --b1:#FFB020;            /* 金橙 */
  --b2:#FF8A3D;            /* 主橙 */
  --b3:#FF5A1F;            /* 深橙 */
  --b4:#E8450A;            /* 强调 */
  --grad:linear-gradient(135deg,#FFB020 0%,#FF8A3D 45%,#FF5A1F 100%);
  --grad-soft:linear-gradient(135deg,#FFF3E6 0%,#FFE8D6 100%);
  --ink:#1F2430; --ink2:#5B6472; --ink3:#98A1AF; --ink4:#C3CAD4;
  --line:#EDEFF3; --line2:#E2E6EC;
  --bg:#F4F5F7; --card:#FFFFFF;
  --ok:#12B76A; --warn:#F79009; --danger:#F04438; --info:#2E90FA; --purple:#7A5AF8;
  --r-s:8px; --r-m:12px; --r-l:16px; --r-xl:22px;
  --sh-1:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.10);
  --sh-2:0 4px 12px rgba(16,24,40,.08),0 2px 4px rgba(16,24,40,.04);
  --sh-3:0 12px 32px rgba(16,24,40,.12);
  --sh-orange:0 6px 18px rgba(255,90,31,.28);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --side:#161A22;          /* 侧边栏深色 */
  --main-bg:#F6F7F9;       /* 内容区背景 */
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{
  margin:0;font-family:var(--font);color:var(--ink);font-size:14px;line-height:1.5;overflow:hidden;
  background:
    radial-gradient(1200px 600px at 10% -10%,#FFF1E2 0%,transparent 55%),
    radial-gradient(900px 500px at 100% 0%,#FFE9DC 0%,transparent 50%),
    var(--bg);
}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select,textarea{font-family:inherit;font-size:14px;color:var(--ink)}
a{color:var(--b3);text-decoration:none}
table{border-collapse:collapse}
h1,h2,h3,h4,p{margin:0}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:#D6DAE2;border-radius:99px;border:2px solid transparent;background-clip:content-box}
::-webkit-scrollbar-thumb:hover{background:#BFC5D0;background-clip:content-box}
::-webkit-scrollbar-track{background:transparent}

/* ---------- 1. 原子类 ---------- */
.ico{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex:none}
.hide{display:none !important}
.muted{color:var(--ink3)}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.txt-b4{color:var(--b4)}
.txt-danger{color:var(--danger)}
.txt-ok{color:var(--ok)}
.nowrap{white-space:nowrap}
.row-f{display:flex;align-items:center;gap:10px}
.row-f.wrap{flex-wrap:wrap}
.ml-auto{margin-left:auto}
.mt-8{margin-top:8px}
.mt-12{margin-top:12px}
.mt-16{margin-top:16px}
.center{display:grid;place-items:center}

/* 头像（渐变底色 + 首字） */
.avatar{border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;
  font-weight:700;flex:none;font-size:12px;overflow:hidden;width:32px;height:32px}
.avatar img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.avatar{position:relative}
.avatar.g1{background:linear-gradient(135deg,#8CC8FF,#4E9BFF)}
.avatar.g2{background:linear-gradient(135deg,#FFC58C,#FF8A3D)}
.avatar.g3{background:linear-gradient(135deg,#B8AEDD,#7A5AF8)}
.avatar.g4{background:linear-gradient(135deg,#9FE6C4,#29B37A)}
.avatar.g5{background:linear-gradient(135deg,#FFC1C1,#F1635C)}

/* 图片占位块（同原型 .ph）：无图时展示斜纹底 + 文案 */
.ph{position:relative;background:linear-gradient(135deg,#FFE3CB,#FFC9A3);display:grid;place-items:center;
  color:#B7651F;font-size:11px;font-weight:700;letter-spacing:.5px;overflow:hidden}
.ph::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(45deg,rgba(255,255,255,.35) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.35) 50%,rgba(255,255,255,.35) 75%,transparent 75%);
  background-size:14px 14px;opacity:.5}
.ph span{position:relative;z-index:2;background:rgba(255,255,255,.72);padding:2px 6px;border-radius:6px;white-space:nowrap}
.ph.blue{background:linear-gradient(135deg,#D6E9FF,#B7D6FF);color:#1D5FA8}
.ph.green{background:linear-gradient(135deg,#D5F3E4,#B6E7CE);color:#0B7A55}
.ph.gray{background:linear-gradient(135deg,#EEF0F4,#DFE3EA);color:#6B7280}
.ph.purple{background:linear-gradient(135deg,#E9E4FF,#D6CDFF);color:#5B3FD6}
.ph img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover;display:block}

/* 金额 */
.price{font-family:"DIN Alternate","SF Pro Display",var(--font);font-weight:800;color:var(--b4)}
.price .u{font-size:.66em;margin-right:1px}
.price-small{font-weight:800;color:var(--b4);font-variant-numeric:tabular-nums}

/* 文字链接（表格行内操作） */
.link{color:var(--b3);font-weight:600;cursor:pointer;font-size:12.5px;background:none;border:0;padding:0}
.link:hover{text-decoration:underline}
.link+.link{margin-left:12px}
.link.danger{color:var(--danger)}
.link.muted{color:var(--ink3);cursor:default}
.link.muted:hover{text-decoration:none}
button.link:disabled{opacity:.45;cursor:not-allowed;text-decoration:none}
