:root {
  --bg: #f3f4f8;
  --card: #fff;
  --ink: #1c2030;
  --sub: #8d93a3;
  --line: #eef0f4;
  --blue: #5b6ef5;
  --danger: #ff5d57;
  --green: #1ea971;
  --shadow: 0 10px 28px rgba(40, 48, 90, 0.06);
  --phone: 430px;
  font-family: "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { background: #e6e8ef; color: var(--ink); }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
button:disabled { cursor: default; opacity: 0.55; }
.stage { min-height: 100vh; display: flex; justify-content: center; }
.phone {
  width: min(var(--phone), 100%);
  min-height: 100vh;
  background: var(--bg);
  position: relative;
}
.pad { padding: 4px 16px 108px; }
.pad.plain { padding-bottom: 32px; }
.top, .subhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px 8px;
  position: sticky;
  top: 0;
  z-index: 5;
  background: rgba(243, 244, 248, 0.94);
  backdrop-filter: blur(10px);
}
.brand { display: flex; align-items: center; gap: 10px; border: 0; background: transparent; padding: 0; min-width: 0; }
button.logo-btn, button.brand-name-btn { border: 0; background: transparent; padding: 0; display: flex; align-items: center; gap: 10px; min-width: 0; }
img.logo { object-fit: cover; display: block; }
.logo {
  width: 42px; height: 42px; border-radius: 50%; background: #fff; color: var(--blue);
  display: grid; place-items: center; font-weight: 700; flex: none;
  box-shadow: 0 6px 16px rgba(70, 80, 140, 0.08);
}
.brand-name { font-size: 16px; font-weight: 650; display: flex; align-items: center; gap: 4px; min-width: 0; }
.brand-name span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.top-actions { display: flex; gap: 6px; }
.icon-act, .back, .search-pill, .tabbar button, .ghost-pill, .mini-btn, .primary, .text-btn, .row-actions button {
  border: 0; background: transparent;
}
.icon-act { width: 48px; display: grid; justify-items: center; gap: 2px; color: #5d6472; font-size: 11px; }
.icon-act svg, .search-pill svg { width: 22px; height: 22px; }
.subhead { display: grid; grid-template-columns: 72px 1fr minmax(72px, auto); }
.subhead h1 { margin: 0; font-size: 17px; font-weight: 650; text-align: center; }
.back, .subextra { height: 36px; display: grid; place-items: center; }
.subextra { justify-content: end; }
.chev {
  width: 7px; height: 7px; border-right: 1.6px solid #9aa1b2; border-bottom: 1.6px solid #9aa1b2;
  transform: rotate(-45deg); display: inline-block; flex: none;
}
.report {
  position: relative; overflow: hidden; color: #fff; border-radius: 22px; padding: 18px 18px 16px;
  background:
    linear-gradient(165deg, rgba(74, 78, 196, 0.72) 0%, rgba(110, 94, 228, 0.42) 52%, rgba(58, 60, 150, 0.3) 100%),
    url("covers/report-bg.jpg") center 30% / cover no-repeat;
  box-shadow: 0 14px 30px rgba(102, 112, 240, 0.22);
}
.report h2, .report .metrics { text-shadow: 0 1px 3px rgba(24, 20, 70, 0.8), 0 3px 14px rgba(24, 20, 70, 0.55); }
.report::before, .report::after {
  content: ""; position: absolute; border-radius: 50%; background: rgba(255,255,255,0.09);
}
.report::before { width: 180px; height: 180px; right: -50px; top: -70px; }
.report::after { width: 140px; height: 140px; right: 30px; bottom: -70px; }
.report-head, .card-head { display: flex; align-items: center; justify-content: space-between; position: relative; }
.report h2, .card h3, .banner h3 { margin: 0; }
.report h2 { font-size: 18px; font-weight: 650; }
.ghost-pill {
  position: relative; border: 1px solid rgba(255,255,255,.75); color: #fff; border-radius: 999px;
  padding: 5px 12px; font-size: 12px; background: transparent;
}
.metrics { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 22px; }
.metric span, .metric small { display: block; font-size: 12px; opacity: .88; }
.metric strong { display: block; margin: 8px 0 8px; font-size: 30px; font-weight: 640; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
.banner {
  width: 100%; margin-top: 14px; border: 0; text-align: left; border-radius: 18px; padding: 16px;
  display: grid; grid-template-columns: 1fr; align-items: center; min-height: 108px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.93) 0%, rgba(255, 255, 255, 0.74) 44%, rgba(255, 255, 255, 0.22) 100%),
    url("covers/invite-bg.jpg") center / cover no-repeat;
  box-shadow: var(--shadow);
}
.banner h3 { font-size: 20px; letter-spacing: 0.04em; text-shadow: 0 1px 6px rgba(255, 255, 255, 0.8); }
.banner p { margin: 6px 0 0; color: #6d7288; font-size: 12px; text-shadow: 0 1px 6px rgba(255, 255, 255, 0.9); }
.banner .mini-btn { position: relative; display: inline-block; margin-top: 10px; background: var(--blue); color: #fff; border-radius: 999px; padding: 6px 12px; font-size: 12px; box-shadow: 0 4px 12px rgba(91, 110, 245, 0.35); }
.devices { display: none; }
.devices { height: 86px; position: relative; }
.monitor, .ph {
  position: absolute; background: #fff; border-radius: 8px; box-shadow: 0 8px 18px rgba(80, 90, 160, 0.12);
}
.monitor { width: 78px; height: 54px; right: 28px; top: 8px; }
.monitor::after { content: ""; position: absolute; left: 18px; right: 18px; bottom: -8px; height: 8px; background: #d9def8; border-radius: 0 0 4px 4px; }
.ph { width: 28px; height: 48px; right: 8px; bottom: 6px; border-radius: 6px; }
.ph.small { width: 22px; height: 40px; right: 40px; bottom: 4px; }
.card { margin-top: 14px; background: var(--card); border-radius: 20px; padding: 16px 14px 8px; box-shadow: var(--shadow); }
.card h3 { font-size: 17px; }
.assist-row, .list-row, .person, .class-card, .member-row {
  width: 100%; border: 0; background: transparent; display: flex; align-items: center; gap: 10px;
  padding: 13px 2px; text-align: left; border-bottom: 1px solid var(--line);
}
.assist-row:last-child, .list-row:last-child, .member-row:last-child { border-bottom: 0; }
.tag { font-style: normal; font-size: 12px; border-radius: 7px; padding: 3px 6px; flex: none; }
.tag.sale { color: #4d78f0; background: #e8f0ff; }
.tag.member { color: #f08a32; background: #fff1e4; }
.tag.know { color: #5b4fd6; background: #eeeaff; }
.tag.good { color: #1f8a62; background: #e5f6ef; }
.yoga-head { margin: 18px 0 0; font-size: 17px; }
.card h3 .tag { margin-right: 6px; vertical-align: 1px; }
.assist-text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.badge {
  min-width: 22px; height: 18px; padding: 0 6px; border-radius: 999px; background: var(--danger); color: #fff;
  font-size: 11px; font-weight: 650; display: inline-grid; place-items: center; font-style: normal;
}
.search-pill {
  display: flex; align-items: center; gap: 4px; border: 1px solid #eceef3; background: #fff; color: #98a0b0;
  border-radius: 999px; padding: 6px 10px; font-size: 13px;
}
.funcs { display: grid; grid-template-columns: repeat(4, 1fr); padding: 16px 0 18px; }
.func { border: 0; background: transparent; display: grid; justify-items: center; gap: 8px; font-size: 12px; color: #30343f; }
.func i {
  width: 52px; height: 52px; border-radius: 18px; display: grid; place-items: center;
}
.func svg { width: 26px; height: 26px; }
.tone-blue { background: #e8f1ff; color: #5b7cff; }
.tone-orange { background: #fff1e6; color: #ff9a3d; }
.tone-green { background: #e5f8f1; color: #1ea971; }
.tone-violet { background: #f3e9ff; color: #9a62f0; }
.more-card .group-title { margin: 16px 16px 0; font-size: 15px; }
.more-card .funcs { padding: 12px 4px 12px; }
.more-card .func { padding: 6px 0; }
.func span { display: flex; align-items: center; justify-content: center; gap: 3px; flex-wrap: wrap; }
.pro-badge { font-style: normal; font-size: 9px; line-height: 1; color: #fff; background: #a6adba; border-radius: 4px; padding: 2px 4px; }
.pro-badge.new { background: #ff9a3d; }
.todo-tag { font-style: normal; flex: none; align-self: center; font-size: 11px; line-height: 1; border-radius: 6px; padding: 4px 6px; margin-right: 8px; }
.k-expiring { background: #ffefe6; color: #ff8a3d; }
.k-low { background: #fff6e0; color: #d9a514; }
.k-paused { background: #eef1f5; color: #8a93a3; }
.k-inactive { background: #e8f1ff; color: #5b7cff; }
.todo-row { display: flex; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.todo-row:last-child { border-bottom: 0; }
.todo-row .grow { border: 0; background: transparent; text-align: left; display: grid; grid-template-columns: auto 1fr; gap: 3px 0; align-items: center; }
.todo-row b { font-size: 14.5px; font-weight: 600; }
.todo-row p { margin: 0; color: var(--sub); font-size: 12px; grid-column: 2; }
.todo-do { flex: none; border: 1px solid var(--blue); color: var(--blue); background: #fff; border-radius: 999px; height: 30px; padding: 0 14px; font-size: 13px; }
.todo-done { flex: none; color: #9aa3b2; font-size: 12px; max-width: 84px; text-align: right; }
.me-id { display: flex; align-items: center; gap: 12px; }
.me-id .linkish { flex: none; }
.mine-class h3 { margin: 16px 16px 2px; font-size: 16px; }
.mine-day { margin: 10px 16px 0; color: var(--sub); font-size: 12.5px; }
.mine-slot { display: grid; grid-template-columns: 52px 1fr auto 14px; gap: 10px; align-items: center; width: 100%; text-align: left; border: 0; background: transparent; padding: 10px 16px; border-bottom: 1px solid var(--line); }
.mine-slot .grow { min-width: 0; }
.mine-slot strong { display: block; font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mine-slot small { display: block; color: var(--sub); font-size: 12px; margin-top: 2px; }
.mine-time b { display: block; font-size: 17px; }
.mine-time span { color: var(--sub); font-size: 11.5px; }
.mine-people { font-style: normal; color: var(--blue); font-size: 12.5px; white-space: nowrap; }
.mine-price { color: #ff8a3d; font-size: 15px; flex: none; }
.stat-rate { color: var(--blue); font-size: 16px; flex: none; }
.rank-no { flex: none; width: 26px; height: 26px; border-radius: 50%; background: #f0f2f7; color: #8d93a3; display: grid; place-items: center; font-size: 13px; font-weight: 650; }
.rank-no.top1 { background: #ffe9c4; color: #c98a12; }
.rank-no.top2 { background: #e9edf5; color: #7d879c; }
.rank-no.top3 { background: #ffe3d1; color: #cd7138; }
.attend-row { padding: 11px 0; border-bottom: 1px solid var(--line); }
.attend-row:last-child { border-bottom: 0; }
.attend-row b { font-size: 14px; }
.attend-row small { display: block; color: var(--sub); font-size: 11.5px; margin-top: 4px; }
.absent-tag { flex: none; font-size: 11.5px; color: #e25555; background: #fdecec; border-radius: 6px; padding: 3px 7px; }
.q-card { padding: 14px; }
.q-nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.q-nav b { font-size: 13.5px; }
.q-btn { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 5px 12px; font-size: 12.5px; color: #5d6472; }
.q-filters { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; }
.q-item { font-size: 11.5px; color: var(--sub); display: grid; gap: 4px; }
.q-item select { height: 36px; border-radius: 10px; border: 1px solid var(--line); background: #f8f9fc; padding: 0 6px; font-size: 13px; outline: none; min-width: 0; }
.video-sec { margin-bottom: 18px; }
.video-sec-head { display: flex; align-items: baseline; gap: 8px; margin: 2px 2px 12px; }
.video-sec-head h3 { margin: 0; font-size: 17px; }
.video-sec-head span { color: var(--sub); font-size: 12px; }
.video-card { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 1px 4px rgba(20, 30, 60, 0.05); margin-bottom: 14px; }
.video-box { position: relative; }
.video-player { width: 100%; aspect-ratio: 16 / 9; background: #10131f; display: block; }
.video-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 66px; height: 66px; border-radius: 50%; border: 0; background: rgba(16, 19, 31, 0.62); color: #fff; font-size: 24px; display: grid; place-items: center; padding-left: 5px; }
.video-play[hidden] { display: none; }
.video-play:active { background: rgba(16, 19, 31, 0.85); }
.video-info { padding: 12px 14px 14px; }
.video-info b { font-size: 15.5px; display: flex; align-items: baseline; gap: 8px; }
.video-info b small { color: var(--blue); font-weight: 400; font-size: 11.5px; }
.video-info p { margin: 6px 0 0; color: #5b6172; font-size: 13px; line-height: 1.7; }
.tabbar {
  position: fixed; z-index: 7; left: 50%; bottom: 0; transform: translateX(-50%);
  width: min(var(--phone), 100%); height: calc(62px + env(safe-area-inset-bottom));
  padding-bottom: env(safe-area-inset-bottom); background: #fff; display: grid; grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid #f1f2f6;
}
.tabbar button { color: #b0b4c0; font-size: 11px; display: grid; justify-items: center; align-content: center; gap: 3px; }
.tabbar button.on { color: var(--blue); }
.tabbar svg { width: 23px; height: 23px; }
.fab {
  position: fixed; z-index: 8; width: 62px; height: 62px; border-radius: 50%; border: 0;
  background: radial-gradient(circle at 32% 28%, #b7c8ff, #5b6ef5 42%, #7d5cf2);
  box-shadow: 0 12px 24px rgba(90, 100, 230, 0.34);
  left: calc(50% + min(var(--phone), 100vw) / 2 - 78px); bottom: 78px;
}
.bot-face {
  width: 34px; height: 24px; margin: 0 auto; background: #f4f7ff; border-radius: 12px;
  display: flex; justify-content: center; align-items: center; gap: 7px; position: relative;
}
.bot-face::before {
  content: ""; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #d9e4ff; top: -7px; right: 4px;
}
.bot-face i { width: 5px; height: 5px; border-radius: 50%; background: #24304a; display: block; }
.login { padding: 54px 22px 32px; }
.login .logo { width: 64px; height: 64px; font-size: 26px; margin-bottom: 14px; }
.login h1 { margin: 0; font-size: 28px; }
.login .lead, .lead { color: var(--sub); line-height: 1.6; font-size: 14px; }
.form { display: grid; gap: 12px; margin-top: 18px; }
.field { display: grid; gap: 6px; color: #8b909c; font-size: 13px; text-align: left; }
input, select, textarea {
  width: 100%; height: 46px; border-radius: 12px; border: 1px solid #e6e8ef; background: #fff; padding: 0 12px; outline: none;
  -webkit-user-select: text; user-select: text; touch-action: manipulation;
}
textarea { height: 88px; padding: 10px 12px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: #9aa8ff; }
.primary { height: 46px; border-radius: 14px; background: var(--blue); color: #fff; font-weight: 650; }
.primary.green { background: var(--green); }
.full { width: 100%; }
.me-tools { display: flex; justify-content: flex-end; height: 44px; align-items: center; padding: 2px 8px 0; }
.me-pad { padding-top: 0; }
.account-card { padding-top: 4px; padding-bottom: 4px; }
.line-on { color: #3db89a; font-size: 13px; flex: none; }
.logout-btn { display: block; width: 100%; height: 48px; margin-top: 28px; border: 0; border-radius: 8px; background: #ef3b3b; color: #fff; font-size: 16px; font-weight: 650; }
.call-btn { display: flex; align-items: center; justify-content: center; margin-top: 16px; text-decoration: none; }
.demos { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.demo, .chip, .day {
  border: 0; background: #fff; border-radius: 14px; padding: 10px; text-align: left; box-shadow: var(--shadow);
}
.demo b, .demo span { display: block; }
.demo span, .muted, small { color: var(--sub); }
.day { min-width: 48px; text-align: center; padding: 8px 0; box-shadow: none; background: transparent; color: #666; }
.day b { display: block; font-size: 16px; font-weight: 650; }
.day.on { background: var(--blue); color: #fff; }
.day.on small, .day.on b { color: #fff; }
.days { display: flex; gap: 4px; overflow: auto; padding: 6px 0 10px; }
.days::-webkit-scrollbar { display: none; }
.class-card, .member-row { border-radius: 16px; background: #fff; margin-bottom: 10px; padding: 12px; box-shadow: var(--shadow); border-bottom: 0; }
.time { width: 64px; flex: none; }
.time b, .time strong { display: block; font-size: 16px; }
.grow { flex: 1; min-width: 0; }
.grow p, .person small, .class-card p { margin: 4px 0 0; color: var(--sub); font-size: 12px; }
.avatar {
  width: 40px; height: 40px; border-radius: 50%; color: #fff; display: grid; place-items: center; flex: none; font-weight: 700;
}
img.avatar { object-fit: cover; display: block; }
button.avatar-btn { border: 0; background: transparent; padding: 0; display: grid; justify-items: center; gap: 4px; width: auto; color: var(--sub); }
button.avatar-btn small { font-size: 11px; }
.bar { height: 6px; border-radius: 99px; background: #eef0f5; margin-top: 8px; overflow: hidden; }
.bar i { display: block; height: 100%; background: linear-gradient(90deg, #7f8dff, #b7a6ff); border-radius: 99px; }
.st { font-style: normal; font-size: 12px; border-radius: 999px; padding: 3px 8px; background: #eef1ff; color: var(--blue); flex: none; }
.st-checked_in { background: #e5f8f1; color: var(--green); }
.st-absent { background: #f3f4f6; color: #8b909a; }
.st-cancelled { background: #f8e8e8; color: #d05555; }
.row-actions { display: flex; gap: 8px; padding: 0 0 12px; }
.row-actions button, .text-btn {
  height: 34px; padding: 0 10px; border-radius: 10px; background: #f4f6fb; color: #3d4458; font-size: 13px;
}
.row-actions .danger, .text-btn.danger { color: var(--danger); }
.weekbar { display: flex; align-items: center; justify-content: space-between; margin: 4px 0 8px; }
.weekbar button, .linkish { border: 0; background: transparent; color: var(--blue); }
.subactions { display: flex; gap: 12px; align-items: center; }
.role-card { padding: 4px 0; }
.role-row { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; font-size: 15px; border: 0; background: transparent; width: 100%; text-align: left; }
.role-row + .role-row { border-top: 1px solid var(--line); }
.role-row b { font-weight: 600; }
.role-row span { color: var(--sub); display: inline-flex; align-items: center; gap: 6px; }
.role-row .grow { flex: 1; justify-content: flex-end; text-align: right; }
.perm-card { padding-bottom: 6px; }
.perm-row { display: flex; align-items: center; gap: 10px; padding: 12px 16px; font-size: 14px; border-top: 1px solid #f1f2f8; }
.perm-row input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--blue); flex: none; }
.perm-row span { flex: 1; }
.perm-check { width: 18px; height: 18px; border-radius: 5px; border: 1.5px solid #cdd2e0; flex: none; position: relative; }
.perm-check.on { background: var(--blue); border-color: var(--blue); }
.perm-check.on::after { content: ""; position: absolute; left: 5px; top: 1.5px; width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.perm-save { margin-top: 14px; }
.filters { display: flex; gap: 8px; overflow: auto; padding-bottom: 8px; }
.chip { border-radius: 999px; padding: 7px 12px; box-shadow: none; border: 1px solid #e6e8f0; font-size: 13px; }
.chip.on { background: #eef1ff; color: var(--blue); border-color: transparent; }
.hero-card, .pass {
  border-radius: 18px; padding: 16px; color: #fff; margin-bottom: 12px;
  background: linear-gradient(135deg, #6678f8, #b7a6ff);
}
.pass b { display: block; font-size: 28px; margin: 8px 0; }
.pass span, .hero-card span { opacity: .9; font-size: 13px; }
.stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.stat { background: #fff; border-radius: 16px; padding: 14px; box-shadow: var(--shadow); }
.stat span { color: var(--sub); font-size: 12px; }
.stat strong { display: block; margin-top: 6px; font-size: 22px; font-variant-numeric: tabular-nums; }
.chart { height: 140px; display: flex; align-items: flex-end; gap: 6px; margin-top: 12px; }
.bar-col { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 6px; }
.bar-col i { width: 100%; max-width: 18px; background: linear-gradient(#8d99ff, #5b6ef5); border-radius: 8px 8px 4px 4px; min-height: 4px; }
.bar-col span { font-size: 10px; color: var(--sub); }
.mask {
  position: fixed; inset: 0; z-index: 20; background: rgba(22, 26, 40, 0.38);
  display: flex; align-items: flex-end; justify-content: center;
}
.sheet {
  width: min(var(--phone), 100%); background: #fff; border-radius: 22px 22px 0 0; padding: 16px 16px calc(18px + env(safe-area-inset-bottom));
  max-height: 88vh; overflow: auto; box-shadow: 0 -10px 40px rgba(0,0,0,.08);
}
.sheet h3 { margin: 4px 0 12px; }
.code { background: #f5f6fb; border-radius: 12px; padding: 12px; word-break: break-all; }
.empty, .loading { text-align: center; color: var(--sub); padding: 48px 20px; }
.bot-log { display: grid; gap: 10px; padding-bottom: 12px; }
.bubble { max-width: 86%; padding: 10px 12px; border-radius: 14px; white-space: pre-wrap; line-height: 1.55; font-size: 14px; }
.bubble.bot { background: #fff; box-shadow: var(--shadow); }
.bubble.me { margin-left: auto; background: var(--blue); color: #fff; }
.ask { display: flex; gap: 8px; position: sticky; bottom: 0; background: var(--bg); padding-top: 8px; }
.ask input { flex: 1; }
.ask button { width: 72px; }
.quick { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 12px; }
.toast {
  position: fixed; z-index: 30; left: 50%; top: 18px; transform: translateX(-50%);
  background: rgba(28, 32, 48, 0.92); color: #fff; border-radius: 999px; padding: 10px 14px;
  font-size: 14px; max-width: min(360px, calc(100% - 32px));
}
.member-pad { padding-top: 8px; }
.board-tools { display: flex; align-items: center; }
.board-tools .icon-act { width: 36px; height: 36px; }
.timetable-wrap { overflow: auto; margin: 0 -8px 8px; padding-bottom: 8px; }
.timetable { display: grid; grid-template-columns: 46px repeat(7, 118px); gap: 6px; min-width: max-content; align-items: stretch; }
.tt-corner { position: sticky; left: 0; }
.tt-day { background: #e7ebf8; color: #6d7694; border-radius: 12px; text-align: center; padding: 8px 4px; }
.tt-day small { display: block; font-size: 12px; }
.tt-day b { display: block; margin-top: 2px; color: #2a3148; font-size: 13px; }
.tt-time { position: sticky; left: 0; background: var(--bg); color: #8d93a3; font-size: 12px; text-align: right; padding-top: 8px; }
.tt-cell, .tt-empty { min-height: 96px; }
.tt-empty {
  border: 1px dashed #d5d8e2; background: #f7f8fb; border-radius: 12px; color: #9aa0ad;
  display: flex; align-items: center; justify-content: center; font-size: 12px;
}
.tt-empty span { pointer-events: none; }
.tt-cell { display: grid; gap: 6px; align-content: start; }
.class-block { display: block; width: 100%; text-align: left; border: 0; border-radius: 8px; color: #fff; padding: 7px 7px 8px; min-height: 96px; }
.class-top { display: flex; align-items: center; gap: 4px; }
.class-top b, .class-block b { display: block; font-size: 12px; font-weight: 650; min-width: 0; }
.mini-cover, .theme-photo { object-fit: cover; flex: none; background: rgba(255,255,255,.35); }
.mini-cover { width: 18px; height: 18px; border-radius: 50%; }
.theme-photo { width: 48px; height: 48px; border-radius: 12px; }
.course-tabs { display: flex; gap: 8px; margin: 4px 0 12px; }
.course-tabs button { flex: 1; border: 1px solid var(--line); background: #fff; border-radius: 12px; padding: 10px 0; font-size: 15px; font-weight: 600; color: var(--sub); display: flex; align-items: center; justify-content: center; gap: 6px; }
.course-tabs button span { font-size: 12px; font-weight: 700; color: #fff; background: #b8bfd2; border-radius: 9px; padding: 1px 7px; }
.course-tabs button.on { color: var(--blue); border-color: var(--blue); background: #eef1ff; }
.course-tabs button.on span { background: var(--blue); }
.detail { background: #fff; border-radius: 16px; box-shadow: var(--shadow); padding: 4px 14px; margin-top: 4px; }
.d-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.d-row b { flex: none; font-size: 15px; color: #1c2333; }
.d-value { color: var(--sub); font-size: 14px; text-align: right; word-break: break-all; }
.d-photo { width: 96px; height: 64px; border-radius: 10px; object-fit: cover; display: grid; place-items: center; color: #fff; font-size: 22px; font-weight: 700; flex: none; }
.d-chip { display: inline-block; font-style: normal; background: #8ea0ff; color: #fff; border-radius: 8px; padding: 5px 12px; font-size: 13px; margin-left: 6px; }
.d-color { display: inline-block; width: 120px; height: 40px; border-radius: 10px; vertical-align: middle; }
.d-stars { font-style: normal; color: #f5a623; letter-spacing: 3px; margin-right: 4px; }
.d-desc { padding: 14px 0 6px; line-height: 1.75; color: #3a4356; font-size: 14px; }
.feed-list { display: flex; flex-direction: column; gap: 14px; margin-bottom: 14px; }
.feed-card { display: flex; gap: 12px; width: 100%; text-align: left; border: 0; background: #fff; border-radius: 16px; box-shadow: var(--shadow); padding: 16px 14px; align-items: center; }
.feed-text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.feed-text b { font-size: 16px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.feed-tag { font-style: normal; color: #8ea0ff; font-size: 13px; margin-top: 7px; }
.feed-meta { display: flex; justify-content: space-between; align-items: center; color: #9aa1b2; font-size: 12px; margin-top: 11px; }
.feed-views { display: flex; align-items: center; gap: 4px; }
.feed-views svg { width: 15px; height: 15px; }
.feed-img { width: 112px; height: 82px; border-radius: 10px; object-fit: cover; flex: none; }
.feed-detail { background: #fff; border-radius: 16px; box-shadow: var(--shadow); padding: 18px 16px; }
.feed-detail h2 { margin: 0 0 8px; font-size: 19px; line-height: 1.5; }
.feed-detail .feed-tag { margin: 0; }
.feed-dmeta { color: #9aa1b2; font-size: 12px; margin: 10px 0 12px; }
.feed-dcover { width: 100%; height: 190px; object-fit: cover; border-radius: 12px; display: block; margin-bottom: 14px; }
.feed-detail p { font-size: 15px; line-height: 1.85; color: #3a4356; margin: 0 0 12px; }
.feed-detail p:last-child { margin-bottom: 0; }
.pick-cover { display: flex; gap: 10px; align-items: center; background: #f6f7fb; border-radius: 12px; padding: 8px; margin: 4px 0 8px; }
.pick-cover:empty { display: none; }
.pick-cover img { width: 64px; height: 64px; border-radius: 10px; object-fit: cover; flex: none; }
.pick-cover p { margin: 4px 0 0; color: #6d7486; font-size: 12px; line-height: 1.45; }
.class-block .cname { display: block; margin-top: 3px; font-size: 12px; line-height: 1.3; min-height: 2.6em; }
.class-block .meta { display: flex; flex-wrap: wrap; gap: 3px 6px; margin-top: 6px; font-size: 10px; font-style: normal; opacity: .95; }
.class-block .meta i, .class-block .meta em { font-style: normal; }
.badge-mini { background: rgba(255,255,255,.28); border-radius: 4px; padding: 0 4px; }
.poster-title { text-align: center; font-size: 16px; margin: 4px 0 12px; }
.poster-note { margin-top: 12px; }
.poster-note p { margin: 0; line-height: 1.6; color: #4d5568; }
.member-search { display: flex; align-items: center; gap: 8px; background: #f2f3f5; border-radius: 12px; padding: 0 12px; margin-bottom: 14px; }
.member-search svg { flex: none; }
.member-search input { border: 0; background: transparent; height: 42px; padding: 0; width: 100%; }
.stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.stat-tile { display: flex; align-items: center; justify-content: space-between; gap: 8px; text-align: left; background: #fff; border: 0; border-radius: 16px; padding: 16px 14px; box-shadow: 0 6px 18px rgba(40, 48, 90, .04); min-height: 92px; }
.stat-tile.on { outline: 2px solid #8b93f8; }
.stat-copy { display: grid; gap: 4px; }
.stat-copy b { font-size: 28px; line-height: 1; font-weight: 650; letter-spacing: -0.03em; }
.stat-copy small { color: #8d93a3; font-size: 13px; }
.stat-ico { width: 36px; height: 36px; border-radius: 12px; background: #eef0ff; color: #7b86f8; display: grid; place-items: center; flex: none; }
.stat-ico svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.filter-title { margin: 16px 0 8px; font-size: 15px; }
.member-qr { width: 220px; height: 220px; display: block; margin: 8px auto 12px; background: #fff; }
.note { font-size: 12px; color: var(--sub); line-height: 1.6; }
.appt-day { margin: 10px 0 0; color: var(--sub); font-size: 13px; }
.appt { width: 100%; border: 0; background: transparent; display: flex; align-items: center; gap: 10px; padding: 12px 2px; text-align: left; border-bottom: 1px solid var(--line); }
.appt:last-child { border-bottom: 0; }
.appt strong { display: flex; align-items: center; gap: 6px; }
.appt-state { color: var(--sub); font-size: 12px; flex: none; }
hr.sep { border: 0; border-top: 1px solid var(--line); margin: 8px 0; }
.choice { display: block; width: 100%; text-align: left; border: 1px solid #e7e9f2; background: #fff; border-radius: 14px; padding: 12px; margin-bottom: 8px; }
.choice.on { border-color: var(--blue); background: #f5f7ff; }
.choice b { display: block; }
.choice span { color: var(--sub); font-size: 12px; }
@media (max-width: 480px) {
  body { background: var(--bg); }
}

.proxy-lead { margin: 0 0 10px; color: var(--blue); font-size: 12px; font-weight: 600; }
.proxy-sub { margin: 8px 0; color: var(--sub); font-size: 13px; }
.proxy-day { margin: 16px 0 8px; color: var(--sub); font-size: 13px; font-weight: 600; }
.pill-bar { display: flex; align-items: center; gap: 8px; background: #fff; border-radius: 12px; padding: 8px 12px; margin-bottom: 12px; box-shadow: var(--shadow); }
.pill-bar .avatar { flex: none; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; border-radius: 50%; color: #fff; font-size: 13px; font-weight: 600; }
.pill-bar b { font-size: 14px; }
.pill-bar p { margin: 0; color: var(--sub); font-size: 11px; }
.pill-bar .text-btn { flex: none; }
.class-badge { font-style: normal; margin-left: 4px; font-size: 11px; padding: 1px 7px; border-radius: 999px; }
.class-badge.full { background: #f1f2f6; color: #8d93a3; }
.class-badge.live { background: #fef0e6; color: #d97706; }
.class-badge.open { background: #eef2ff; color: var(--blue); }

.quick-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 4px; }
.quick-chip { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 6px 13px; font-size: 12px; color: #3c4258; box-shadow: var(--shadow); }
.quick-chip.on { border-color: var(--blue); background: var(--blue); color: #fff; }
.quick-chip.more { border-style: dashed; }
.filter-selbar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 8px 0 2px; }
.filter-tag { display: inline-flex; align-items: center; gap: 4px; background: #eef2ff; color: var(--blue); border-radius: 999px; padding: 3px 8px; font-size: 12px; }
.filter-tag i { font-style: normal; font-weight: 700; cursor: pointer; }
.filter-count { color: var(--sub); font-size: 12px; margin-left: auto; }
.filter-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.filter-group-title { margin: 14px 0 7px; font-size: 13px; color: var(--sub); font-weight: 600; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.fsel-chip { border: 1px solid #e7e9f2; background: #fafbff; border-radius: 10px; padding: 7px 12px; font-size: 13px; color: var(--ink); }
.fsel-chip.on { border-color: var(--blue); background: #eef2ff; color: var(--blue); font-weight: 600; }
.filter-foot { display: flex; gap: 10px; margin-top: 18px; position: sticky; bottom: 0; }
.filter-foot .big { flex: 1; padding: 12px 0; text-align: center; border-radius: 12px; }
.filter-foot .text-btn.big { background: #f1f2f6; color: var(--ink); }
.ckrow { display: flex; flex-wrap: wrap; gap: 12px; }
.ck { display: flex; align-items: center; gap: 5px; font-size: 13px; color: var(--ink); }
.ck input { width: 16px; height: 16px; accent-color: var(--blue); }
.star { font-style: normal; color: #f0b45a; margin-right: 2px; }

/* ===== 会员详情页改版（模板化） ===== */
.mdetail { padding-bottom: 78px; }
.mhead { background: linear-gradient(135deg, #8f9bff, #6d7cff 55%, #b3a6ff); border-radius: 16px; padding: 16px 14px 12px; color: #fff; margin-bottom: 12px; }
.mhead-top { display: flex; align-items: center; gap: 12px; }
.mhead-avatar { width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,.85); color: #6d7cff; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; flex: 0 0 auto; }
.mhead-top .grow b { font-size: 18px; }
.mg { font-style: normal; color: #ffd1e0; margin-left: 4px; }
.mhead-phone { margin: 2px 0 0; font-size: 14px; color: rgba(255,255,255,.85); }
.mhead-acts { display: flex; gap: 8px; }
.mhead-acts button, .mhead-btn { width: 32px; height: 32px; border-radius: 50%; border: none; background: rgba(255,255,255,.22); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 15px; cursor: pointer; text-decoration: none; }
.mhead-acts button.on { background: #ffb64d; }
.mhead-tags { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.mhead-tagchip { border: 1px solid rgba(255,255,255,.7); border-radius: 4px; background: transparent; color: #fff; font-size: 12px; padding: 4px 10px; cursor: pointer; }
.mhead-edit { border: none; background: transparent; color: #fff; font-size: 15px; cursor: pointer; }
.m-agreed { font-size: 11px; border: 1px solid rgba(255,255,255,.7); border-radius: 4px; padding: 1px 6px; }
.m-advisor { font-size: 12px; color: rgba(255,255,255,.8); margin-left: auto; }
.mstat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 12px; }
.mstat { background: #fff; border: none; border-radius: 12px; padding: 12px 4px 10px; display: flex; flex-direction: column; align-items: center; gap: 4px; cursor: pointer; box-shadow: 0 1px 4px rgba(28,32,48,.05); }
.mstat span { font-size: 12px; color: var(--sub); }
.mstat b { font-size: 20px; color: var(--ink); }
.mpay-rows { background: #fff; border-radius: 12px; margin-bottom: 12px; overflow: hidden; box-shadow: 0 1px 4px rgba(28,32,48,.05); }
.mpay-row { display: flex; align-items: center; width: 100%; border: none; background: transparent; padding: 13px 14px; font-size: 15px; border-bottom: 1px solid var(--line); cursor: pointer; }
.mpay-row:last-child { border-bottom: none; }
.mpay-row b { font-weight: 600; color: var(--ink); flex: 0 0 auto; }
.mpay-row span { margin-left: auto; color: var(--sub); margin-right: 6px; }
.mtabs { display: flex; background: #fff; border-radius: 12px 12px 0 0; box-shadow: 0 1px 4px rgba(28,32,48,.05); }
.mtab { flex: 1; border: none; background: transparent; padding: 12px 0 10px; font-size: 14px; color: var(--sub); position: relative; cursor: pointer; }
.mtab.on { color: var(--blue); font-weight: 600; }
.mtab.on::after { content: ""; position: absolute; left: 28%; right: 28%; bottom: 0; height: 3px; border-radius: 3px; background: var(--blue); }
.mpane { background: #fff; border-radius: 0 0 12px 12px; padding: 12px; min-height: 160px; margin-bottom: 12px; }
.mbig { display: flex; align-items: center; gap: 10px; width: 100%; border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 10px; margin-bottom: 10px; cursor: pointer; text-align: left; }
.mbig-art { position: relative; width: 92px; height: 60px; border-radius: 8px; color: #fff; display: flex; align-items: center; overflow: hidden; flex: 0 0 auto; padding: 0 10px; }
.mbig-art b { font-size: 15px; line-height: 1.25; }
.mbig-art b small { display: block; font-size: 9px; opacity: .8; letter-spacing: 1px; }
.mbig-corner { position: absolute; top: 0; right: -30px; transform: rotate(38deg); background: #ff9a3d; color: #fff; font-size: 9px; font-style: normal; padding: 2px 30px; }
.mbig-info { flex: 1; min-width: 0; }
.mbig-info b { font-size: 14px; color: var(--ink); }
.mbig-info p { margin: 1px 0 0; font-size: 12px; color: var(--sub); }
.mbig-seal { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; border: 2px dashed #9db4ff; color: #6d7cff; display: flex; align-items: center; justify-content: center; font-size: 10px; transform: rotate(-12deg); }
.mbig-seal.warn { border-color: #ffc46d; color: #e69a2e; }
.mbig-seal.bad { border-color: #ffa3a3; color: #e06c6c; }
.mbottom { position: sticky; bottom: 0; display: flex; gap: 10px; padding: 8px 0 2px; background: linear-gradient(transparent, var(--bg) 30%); }
.mfoot { flex: 1; border: none; border-radius: 12px; background: #8f9bff; color: #fff; font-size: 16px; padding: 13px 0; cursor: pointer; }
.mfoot:active { background: #6d7cff; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.danger-btn { color: #e06c6c; }
.wk-row { display: flex; gap: 10px; align-items: flex-start; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; }
.wk-row input { margin-top: 4px; accent-color: var(--blue); }
.wk-row b { font-size: 14px; }
.wk-row p { margin: 2px 0 0; font-size: 12px; color: var(--sub); }

/* ===== 会员卡资料页 ===== */
.mbig.static { cursor: default; }
.cardtabs { margin-top: 0; }
.ctab { flex: 1; border: none; background: transparent; padding: 12px 0 10px; font-size: 13px; color: var(--sub); position: relative; cursor: pointer; }
.ctab.on { color: var(--blue); font-weight: 600; }
.ctab.on::after { content: ""; position: absolute; left: 18%; right: 18%; bottom: 0; height: 3px; border-radius: 3px; background: var(--blue); }
.cbook-bar { display: flex; gap: 12px; font-size: 12px; color: var(--sub); padding: 2px 0 10px; flex-wrap: wrap; }
.cbook-row { display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; }
.cbook-row b { font-size: 14px; }
.cbook-row p { margin: 2px 0 0; font-size: 12px; color: var(--sub); }
.cbook-side { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex: 0 0 auto; }
.cbadge { font-style: normal; font-size: 12px; color: var(--sub); border: 1px solid var(--line); border-radius: 6px; padding: 2px 8px; }
.cbadge.ok { color: #2fa37a; border-color: #bfe7d6; }
.cbadge.bad { color: #e06c6c; border-color: #f3c6c6; }
.cev-row { display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); padding: 10px 2px; }
.cev-row:last-child { border-bottom: none; }
.cev-tag { font-style: normal; flex: 0 0 auto; font-size: 11px; color: #6d7cff; border: 1px solid #dfe2ff; border-radius: 4px; padding: 2px 6px; background: #f2f3ff; }
.cev-row b { font-size: 14px; }
.cev-row p { margin: 2px 0 0; font-size: 12px; color: var(--sub); }
.cev-amt { color: #e0863c; flex: 0 0 auto; }
.clg-row { display: flex; align-items: center; border-bottom: 1px solid var(--line); padding: 10px 2px; }
.clg-row:last-child { border-bottom: none; }
.clg-row b { font-size: 14px; }
.clg-row p { margin: 2px 0 0; font-size: 12px; color: var(--sub); }
.clg-right { text-align: right; flex: 0 0 auto; }
.clg-right b { display: block; }
.clg-right b.up { color: #2fa37a; }
.clg-right b.down { color: #1c2030; }
.clg-right span { font-size: 12px; color: var(--sub); }
.cinfo .list-row { display: flex; align-items: center; border-bottom: 1px solid var(--line); padding: 12px 2px; }
.cinfo .list-row:last-child { border-bottom: none; }
.cinfo-label { color: var(--ink); font-weight: 500; }
.cinfo-value { color: var(--sub); font-size: 14px; }

/* ===== 卡管理页 ===== */
.cm-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px 6px; margin: 8px 0 4px; }
.cm-btn { border: none; background: transparent; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 8px 2px; cursor: pointer; color: var(--sub); }
.cm-btn span { font-size: 12px; color: var(--ink); }
.cm-ico { position: relative; color: #6d7cff; display: block; width: 26px; height: 26px; }
.cm-ico svg { display: block; }
.cm-ico-wrap { position: relative; display: inline-block; }
.cm-ico-wrap i { position: absolute; right: -6px; bottom: -4px; font-style: normal; font-size: 12px; font-weight: 700; color: #fff; background: #6d7cff; border-radius: 50%; width: 14px; height: 14px; line-height: 14px; text-align: center; }
.cdetail .mpane { margin-top: 0; }

/* 员工账号页头部双按钮（横排文字，不再竖排换行） */
.subhead > .subextra { padding-right: 14px; justify-content: flex-end; }
.subactions .mini-pill { border: 1px solid #d5d9ff; background: #fff; color: var(--blue); border-radius: 15px; padding: 5px 12px; font-size: 13px; line-height: 1.4; white-space: nowrap; cursor: pointer; }
.subactions .mini-pill.solid { background: var(--blue); border-color: var(--blue); color: #fff; }

/* 上课记录页 */
.taught-num { text-align: right; flex: 0 0 auto; margin-right: 6px; }
.taught-num b { font-size: 17px; color: #2fa37a; }
.taught-num small { display: block; font-size: 11px; color: var(--sub); }

/* 活动分享 */
.etype { font-style: normal; font-size: 11px; color: #6d7cff; background: #f0f2ff; border-radius: 4px; padding: 1px 6px; margin-left: 6px; vertical-align: 2px; }
.estatus { font-style: normal; flex: 0 0 auto; font-size: 11px; border-radius: 4px; padding: 2px 7px; margin-right: 6px; color: var(--sub); border: 1px solid var(--line); }
.estatus.published { color: #2fa37a; border-color: #bfe7d6; background: #eefaf4; }
.estatus.draft { color: #b8862f; border-color: #f0dfba; background: #fdf6e8; }
.estatus.closed { color: #9aa0ad; background: #f4f5f7; }
.row-actions.ev-new { justify-content: center; padding: 2px 0 14px; }
.pill-btn { height: auto !important; border: 1px solid #d5d9ff; background: #fff; color: #3d4458; border-radius: 16px; padding: 8px 22px; font-size: 14px; font-weight: 500; box-shadow: 0 1px 5px rgba(61,68,88,.09); }
.role-card .role-row b { display: flex; align-items: center; }
.role-chip { font-style: normal; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.role-chip.owner { background: #e8ebff; color: #4a56d2; }
.role-chip.front { background: #fdf0e0; color: #c07a1e; }
.role-chip.teacher { background: #e2f6ee; color: #1f9d6c; }
.role-card.owner { border-left: 3px solid #6d7cff; }
.role-card.front { border-left: 3px solid #f0a04b; }
.role-card.teacher { border-left: 3px solid #3db89a; }
.mbig.photo { border: 0; box-shadow: 0 8px 20px rgba(10, 14, 22, 0.18); color: #232a3b; }
.mbig.photo .mbig-info b { color: #1d2433; text-shadow: 0 1px 2px rgba(255, 255, 255, 0.75); }
.mbig.photo .mbig-info p { color: rgba(29, 36, 51, 0.88); text-shadow: 0 1px 2px rgba(255, 255, 255, 0.7); }
.mbig.photo .mbig-seal { border-color: rgba(29, 36, 51, 0.5); color: #1d2433; }
.mbig.photo .mbig-seal.warn { border-color: rgba(178, 106, 0, 0.55); color: #a05f00; }
.mbig.photo .mbig-seal.bad { border-color: rgba(176, 52, 52, 0.5); color: #b03434; }
.mbig.photo .chev { border-right-color: rgba(29, 36, 51, 0.6); border-bottom-color: rgba(29, 36, 51, 0.6); }
.mbig.photo.dead { color: #fff; }
.mbig.photo.dead .mbig-info b { color: #fff; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.65); }
.mbig.photo.dead .mbig-info p { color: rgba(255, 255, 255, 0.92); text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6); }
.mbig.photo.dead .mbig-seal { border-color: rgba(255, 255, 255, 0.75); color: #fff; }
.mbig.photo.dead .mbig-seal.warn { border-color: #ffd9a0; color: #ffe9c9; }
.mbig.photo.dead .mbig-seal.bad { border-color: #ffb3b3; color: #ffd7d7; }
.mbig.photo.dead .chev { border-right-color: rgba(255, 255, 255, 0.8); border-bottom-color: rgba(255, 255, 255, 0.8); }
