
/* Bemove X member application shell — mirrors design/bemove-member-app.html */
body.bemove-member-mode {
  --member-purple:#6d28d9; --member-violet:#8b5cf6; --member-lavender:#f1edff;
  --member-ink:#172033; --member-muted:#718096; --member-line:#e7eaf0;
  --member-canvas:#f7f8fb; --member-card:#fff;
  min-width:320px; background:var(--member-canvas); color:var(--member-ink);
  font-family:"Noto Sans KR",Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.bemove-member-mode .main-nav { display:flex!important; position:relative; z-index:30; min-height:72px; padding:16px 28px; background:rgba(255,255,255,.94); border-bottom:1px solid var(--member-line); box-shadow:0 1px 0 rgba(23,32,51,.02); backdrop-filter:blur(18px); }
body.bemove-member-mode .nav-left { align-items:center; gap:20px; }
body.bemove-member-mode .nav-logo.is-bemove { color:var(--member-ink); font-size:18px; font-weight:900; letter-spacing:-.06em; }
body.bemove-member-mode .nav-logo.is-bemove::before { content:""; display:inline-block; width:11px; height:11px; margin-right:9px; border-radius:4px; vertical-align:1px; background:linear-gradient(135deg,#b69cff,var(--member-purple)); box-shadow:0 0 0 4px #f0ebff; }
body.bemove-member-mode .nav-right-main { gap:10px; color:var(--member-muted); font-size:12px; }
body.bemove-member-mode #nav-brand-name { max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.bemove-member-mode #nav-role-badge { color:var(--member-purple); background:var(--member-lavender); border:1px solid #ddd3ff; }
body.bemove-member-mode #nav-user-name { color:var(--member-ink); font-weight:800; }
body.bemove-member-mode #btn-logout { min-height:34px; padding:6px 12px; border:1px solid #dfe3eb; border-radius:9px; background:#fff; color:#596579; font-size:11px; }
body.bemove-member-mode #page-dashboard { background:radial-gradient(circle at 52% -120px,rgba(139,92,246,.11),transparent 400px),var(--member-canvas); }
body.bemove-member-mode #page-dashboard .page-content { width:100%; max-width:none; min-height:calc(100dvh - 72px); height:calc(100dvh - 72px); margin:0; padding:28px 42px 42px 270px; overflow:hidden; }
body.bemove-member-mode #page-dashboard #tab-content { max-width:1120px; width:100%; margin:0 auto; }
body.bemove-member-mode #page-dashboard #tab-content > .bemove-screen { overflow:auto; padding:0 2px 32px; }
body.bemove-member-mode .bemove-screen { display:flex; flex-direction:column; gap:16px; }
body.bemove-member-mode .bemove-panel, body.bemove-member-mode .card { min-width:0; padding:22px; border:1px solid var(--member-line); border-radius:18px; background:var(--member-card); color:var(--member-ink); box-shadow:0 8px 28px rgba(35,44,67,.045); }
body.bemove-member-mode .bemove-panel h4, body.bemove-member-mode .bemove-member-section-title { color:var(--member-ink); font-size:15px; font-weight:850; letter-spacing:-.035em; }
body.bemove-member-mode .bemove-panel h5 { color:#3f4b60; }
body.bemove-member-mode .text-muted { color:var(--member-muted)!important; }
body.bemove-member-mode .btn { min-height:36px; border-radius:10px; font-weight:800; }
body.bemove-member-mode .btn-primary { border-color:var(--member-purple); background:linear-gradient(135deg,#9674f7,var(--member-purple)); box-shadow:0 8px 18px -10px rgba(109,40,217,.75); }
body.bemove-member-mode .btn-outline, body.bemove-member-mode .btn-light { border-color:#dce1e9; background:#fff; color:#526074; }
body.bemove-member-mode input:not([type=checkbox]):not([type=radio]), body.bemove-member-mode select, body.bemove-member-mode textarea { border:1px solid #dce1e9; border-radius:9px!important; background:#fff; color:var(--member-ink); }
body.bemove-member-mode input:focus, body.bemove-member-mode select:focus, body.bemove-member-mode textarea:focus { border-color:#a78bfa; box-shadow:0 0 0 3px rgba(139,92,246,.13); outline:0; }
body.bemove-member-mode .bemove-member-alert { margin:0; padding:13px 16px; border:1px solid #ddd3ff; border-radius:14px; background:linear-gradient(110deg,#6d28d9,#9570f5); box-shadow:0 14px 28px -18px #6d28d9; }
body.bemove-member-mode .bemove-member-alert.is-compact { border-color:#f5d98d; background:#fff9e9; color:#704b00; box-shadow:none; }
body.bemove-member-mode .bemove-member-hero { min-height:150px; margin:0; padding:30px 32px; border:0; border-radius:20px; background:radial-gradient(circle at 90% 20%,rgba(255,255,255,.22),transparent 110px),linear-gradient(135deg,#5b21b6,#7c3aed 58%,#a875ef); box-shadow:0 18px 34px -20px #5b21b6; overflow:hidden; }
body.bemove-member-mode .bemove-member-hero::after { content:""; position:absolute; right:-38px; bottom:-82px; width:230px; height:230px; border:32px solid rgba(255,255,255,.08); border-radius:50%; }
body.bemove-member-mode .bemove-member-hero h3 { position:relative; z-index:1; margin:0 0 8px; color:#fff; font-size:clamp(23px,3vw,31px); font-weight:900; letter-spacing:-.06em; }
body.bemove-member-mode .bemove-member-hero p { position:relative; z-index:1; color:rgba(255,255,255,.86); }
body.bemove-member-mode .bemove-member-hero-refresh { z-index:2; top:18px; right:20px; display:grid; width:38px; height:38px; place-items:center; border:1px solid rgba(255,255,255,.32); border-radius:11px; background:rgba(255,255,255,.13); color:#fff; }
body.bemove-member-mode .bemove-member-kcal-nav { margin-top:0; }
body.bemove-member-mode .bemove-member-kcal-kpis { gap:10px; }
body.bemove-member-mode .bemove-member-kcal-kpis span { display:block; padding:12px 14px; border-color:#ebe8f7; border-radius:13px; background:#fbfaff; }
body.bemove-member-mode .bemove-member-kcal-kpis em { display:block; margin-bottom:7px; color:#8791a3; font-size:11px; }
body.bemove-member-mode .bemove-member-kcal-kpis strong { color:#26334b; font-size:17px; }
body.bemove-member-mode .bemove-member-kcal-nav-msg { color:#34425b; line-height:1.6; }
body.bemove-member-mode .bemove-member-kcal-nav-sub { color:#8a94a6; line-height:1.55; }
body.bemove-member-mode .bemove-member-pt-cards { gap:12px; }
body.bemove-member-mode .bemove-pt-card { padding:18px; border:1px solid transparent; border-radius:14px; }
body.bemove-member-mode .bemove-pt-total { border-color:#ded3ff; background:#f3efff; color:#5b21b6; }
body.bemove-member-mode .bemove-pt-done { border-color:#b9efd0; background:#ecfbf2; color:#087443; }
body.bemove-member-mode .bemove-pt-remain { border-color:#fbd4a7; background:#fff6eb; color:#bd5b0b; }
body.bemove-member-mode .bemove-member-progress-bar { height:9px; background:#eceaf2; }
body.bemove-member-mode .bemove-member-progress-bar span { background:linear-gradient(90deg,#a78bfa,#6d28d9); }
body.bemove-member-mode .bemove-member-stage-badge { border:1px solid #ded3ff; background:#f3efff; color:#6d28d9; }
body.bemove-member-mode .bemove-member-grid, body.bemove-member-mode .bemove-diet-kpi-grid { gap:16px; }
body.bemove-member-mode .bemove-member-card { transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
body.bemove-member-mode .bemove-member-card:hover { transform:translateY(-2px); border-color:#cfc1ff; box-shadow:0 16px 28px -18px #6d28d9; }
body.bemove-member-mode .bemove-diet-summary { border-color:#ddd3ff; background:linear-gradient(135deg,#fff,#faf8ff); }
body.bemove-member-mode .bemove-diet-summary-kcal, body.bemove-member-mode .bemove-diet-kpi-value, body.bemove-member-mode .bemove-diet-top-kcal { color:#6d28d9; }
body.bemove-member-mode .bemove-diet-mix-row .bar, body.bemove-member-mode .bemove-inbody-chart-wrap { background:#f1f2f6; }
body.bemove-member-mode .bemove-diet-mix-row .bar i { background:linear-gradient(90deg,#b39cff,#7c3aed); }
body.bemove-member-mode .bemove-inbody-score-card { background:linear-gradient(145deg,#5b21b6,#8b5cf6); box-shadow:0 18px 32px -20px #5b21b6; }
body.bemove-member-mode .bemove-inbody-latest-strip, body.bemove-member-mode .bemove-inbody-graph-card, body.bemove-member-mode .bemove-inbody-box, body.bemove-member-mode .bemove-diet-thread-wrap { border-color:var(--member-line); background:#fff; }
body.bemove-member-mode .bemove-555-archive-wrap, body.bemove-member-mode .bemove-inbody-history-table-wrap { max-width:100%; overflow-x:auto; scrollbar-width:thin; }
body.bemove-member-mode .bemove-555-archive-table, body.bemove-member-mode .bemove-inbody-history-table { min-width:640px; }
body.bemove-member-mode .bemove-555-archive-table th, body.bemove-member-mode .bemove-inbody-history-table th { background:#fafaff; color:#6e788b; }
body.bemove-member-mode .bemove-modal-backdrop { background:rgba(23,32,51,.54); backdrop-filter:blur(5px); }
body.bemove-member-mode .bemove-modal, body.bemove-member-mode .bemove-self-workout-modal { border:1px solid var(--member-line); border-radius:20px; background:#fff; color:var(--member-ink); box-shadow:0 26px 70px rgba(23,32,51,.24); }
body.bemove-member-mode .nav-tabs.member-nav-list { z-index:40; }
body.bemove-member-mode .member-nav-tab { display:flex; align-items:center; gap:11px; width:100%; border:0; color:#7a8497; font-size:13px; font-weight:800; text-align:left; }
body.bemove-member-mode .member-nav-tab .nav-tab-icon { display:grid; width:30px; height:30px; place-items:center; border-radius:10px; color:#8c96a9; font-size:20px; line-height:1; }
body.bemove-member-mode .member-nav-tab.active { color:var(--member-purple); background:#f1edff; }
body.bemove-member-mode .member-nav-tab.active .nav-tab-icon { color:var(--member-purple); background:#e5ddff; }
body.bemove-member-mode .member-nav-tab .nav-tab-label { min-width:0; }
body.bemove-member-mode .nav-tab-icon { flex:none; }
body.bemove-member-mode .bemove-member-monthly .bemove-member-kcal-kpis,
body.bemove-member-mode .bemove-member-wearable .bemove-member-kcal-kpis,
body.bemove-member-mode .bemove-member-checkin .bemove-member-kcal-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); margin:12px 0; }
body.bemove-member-mode .bemove-body-map-wrap { display:grid; grid-template-columns:180px minmax(0,1fr); gap:24px; align-items:center; }
body.bemove-member-mode .bemove-body-map { width:150px; max-height:290px; margin:auto; filter:drop-shadow(0 8px 14px rgba(15,23,42,.10)); }
body.bemove-member-mode .bemove-body-map polygon { stroke:#fff; stroke-width:.45; stroke-linejoin:round; }
body.bemove-member-mode .bemove-body-map.is-back, body.bemove-member-mode .bemove-body-map.is-hidden { display:none; }
body.bemove-member-mode .bemove-recovery-list { display:flex; flex-direction:column; gap:9px; }
body.bemove-member-mode .bemove-recovery-row { display:grid; grid-template-columns:104px minmax(0,1fr) 46px; gap:10px; align-items:center; font-size:11px; }
body.bemove-member-mode .bemove-recovery-row i { height:7px; overflow:hidden; border-radius:999px; background:#e2e8f0; }
body.bemove-member-mode .bemove-recovery-row i b { display:block; height:100%; border-radius:inherit; }
body.bemove-member-mode .bemove-recovery-row em { color:#64748b; font-style:normal; text-align:right; }
body.bemove-member-mode [data-body-view].is-active { border-color:#8b5cf6; background:#eef2ff; color:#3730a3; }
body.bemove-member-mode .bemove-555-condition-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin:8px 0 18px; }
body.bemove-member-mode .bemove-555-condition, body.bemove-member-mode .bemove-555-pain { min-height:44px; padding:7px; border:1px solid #dce1e9; border-radius:10px; background:#fff; font-size:11px; font-weight:750; }
body.bemove-member-mode .bemove-555-condition.is-active, body.bemove-member-mode .bemove-555-pain.is-active { border-color:#8b5cf6; background:#eef2ff; color:#3730a3; }
body.bemove-member-mode .bemove-555-pain-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:8px 0 18px; }
body.bemove-member-mode .bemove-member-checkin-sheet { width:min(520px,100%); max-height:88dvh; }
body.bemove-member-mode .bemove-diet-feedback-state { display:inline-flex; margin:10px 0 6px; padding:5px 9px; border-radius:999px; font-size:10px; font-weight:850; }
body.bemove-member-mode .bemove-diet-feedback-state.is-private { color:#64748b; background:#f1f5f9; }
body.bemove-member-mode .bemove-diet-feedback-state.is-waiting { color:#92400e; background:#fef3c7; }
body.bemove-member-mode .bemove-diet-feedback-state.is-arrived { color:#166534; background:#dcfce7; }
body.bemove-member-mode .bemove-diet-thread-input { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin-top:10px; align-items:end; }
body.bemove-member-mode .bemove-diet-request-check { display:flex!important; min-height:44px; align-items:center; gap:8px; }
body.bemove-member-mode .bemove-homework-exercises { display:flex; flex-direction:column; gap:12px; margin-top:14px; }
body.bemove-member-mode .bemove-homework-exercise { padding:14px; border:1px solid #e7eaf0; border-radius:12px; background:#f8fafc; }
body.bemove-member-mode .bemove-homework-exercise h6 { margin:0; font-size:13px; }
body.bemove-member-mode .bemove-homework-set { display:grid; grid-template-columns:50px minmax(100px,1fr) minmax(100px,1fr) 70px; gap:8px; align-items:center; margin-top:8px; padding:8px; border-radius:9px; background:#fff; font-size:10px; }
body.bemove-member-mode .bemove-homework-set label { display:flex; align-items:center; gap:4px; }
body.bemove-member-mode .bemove-homework-set input[type=number] { min-width:0; width:100%; height:34px; padding:5px 7px; }
body.bemove-member-mode .bemove-homework-set .bemove-homework-done { min-height:44px; justify-content:center; font-weight:800; }
body.bemove-member-mode .bemove-555-archive-video { display:block; width:100%; max-height:65dvh; border-radius:12px; background:#0f172a; }
@media (min-width:900px) {
  body.bemove-member-mode .nav-left { flex:1; }
  body.bemove-member-mode .nav-tabs.member-nav-list { position:fixed; top:72px; bottom:0; left:0; width:224px; display:flex; flex-direction:column; gap:5px; padding:26px 14px; border-right:1px solid var(--member-line); background:rgba(255,255,255,.96); overflow:auto; }
  body.bemove-member-mode .nav-tabs.member-nav-list .nav-tab { flex:none; justify-content:flex-start; min-height:48px; padding:8px 12px; }
  body.bemove-member-mode .nav-tabs.member-nav-list::before { content:"MEMBER SPACE"; padding:0 12px 10px; color:#a0a8b7; font-size:10px; font-weight:900; letter-spacing:.13em; }
  body.bemove-member-mode .nav-tabs.member-nav-list::after { content:"운동 · 식단 · 건강 기록"; margin:14px 12px 0; color:#a0a8b7; font-size:11px; line-height:1.45; }
}
@media (max-width:899px) {
  body.bemove-member-mode .main-nav { min-height:60px; padding:12px 16px; }
  body.bemove-member-mode #page-dashboard .page-content { min-height:calc(100dvh - 60px); height:calc(100dvh - 60px); padding:20px 18px 92px; overflow:hidden; }
  body.bemove-member-mode #page-dashboard #tab-content > .bemove-screen { padding-bottom:18px; }
  body.bemove-member-mode .nav-tabs.member-nav-list { position:fixed; left:0; right:0; bottom:0; z-index:1200; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:2px; padding:7px 7px calc(7px + env(safe-area-inset-bottom)); border:1px solid var(--member-line); border-bottom:0; border-radius:18px 18px 0 0; background:rgba(255,255,255,.96); box-shadow:0 -12px 30px rgba(23,32,51,.1); backdrop-filter:blur(18px); }
  body.bemove-member-mode .member-nav-tab { min-height:58px; flex-direction:column; justify-content:center; gap:3px; padding:5px 2px; border-radius:12px; font-size:10px; text-align:center; }
  body.bemove-member-mode .member-nav-tab .nav-tab-icon { width:25px; height:25px; font-size:18px; }
  body.bemove-member-mode .member-nav-tab.active { background:#f1edff; }
  body.bemove-member-mode .nav-tabs.member-nav-list::before, body.bemove-member-mode .nav-tabs.member-nav-list::after { display:none; }
  body.bemove-member-mode #nav-brand-name, body.bemove-member-mode #nav-role-badge { display:none; }
  body.bemove-member-mode #btn-logout { width:34px; padding:0; overflow:hidden; color:transparent; }
  body.bemove-member-mode #btn-logout::before { content:"↗"; color:#667085; font-size:15px; }
  body.bemove-member-mode .bemove-panel, body.bemove-member-mode .card { padding:17px; border-radius:16px; }
  body.bemove-member-mode .bemove-member-hero { min-height:130px; padding:23px 20px; border-radius:17px; }
  body.bemove-member-mode .bemove-member-hero h3 { font-size:22px; }
  body.bemove-member-mode .bemove-member-kcal-kpis span { padding:10px 9px; }
  body.bemove-member-mode .bemove-member-kcal-kpis em { font-size:10px; }
  body.bemove-member-mode .bemove-member-kcal-kpis strong { font-size:13px; }
  body.bemove-member-mode .bemove-member-grid, body.bemove-member-mode .bemove-diet-kpi-grid, body.bemove-member-mode .bemove-inbody-grid { grid-template-columns:1fr; }
  body.bemove-member-mode .bemove-diet-create-grid { grid-template-columns:1fr; }
  body.bemove-member-mode .bemove-diet-nutri-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.bemove-member-mode .bemove-inbody-top { grid-template-columns:1fr; }
  body.bemove-member-mode .bemove-inbody-latest-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.bemove-member-mode .bemove-self-workout-modal { width:100%; max-height:90dvh; margin-top:auto; border-radius:20px 20px 0 0; }
  body.bemove-member-mode .bemove-body-map-wrap { grid-template-columns:1fr; }
  body.bemove-member-mode .bemove-body-map { width:135px; }
  body.bemove-member-mode .bemove-555-condition-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.bemove-member-mode .bemove-555-pain-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.bemove-member-mode .bemove-homework-set { grid-template-columns:44px 1fr 1fr; }
  body.bemove-member-mode .bemove-homework-set .bemove-homework-done { grid-column:1/-1; justify-content:flex-start; }
  body.bemove-member-mode .bemove-modal-backdrop { align-items:flex-end; }
}
@media (min-width:900px) and (max-width:1199px) { body.bemove-member-mode #page-dashboard .page-content { padding-left:250px; padding-right:28px; } }
@media (min-width:1200px) { body.bemove-member-mode .bemove-member-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (prefers-reduced-motion:reduce) { body.bemove-member-mode * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
