/* :root 별칭은 _shared.css 에서 정의 */
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
    /* v3.2.12+: clinical 캔버스 (v11 요양보호사앱과 동일 — var(--clinical-canvas) 토큰 참조) */
    html{height:100%;background:var(--clinical-canvas);font-size:16px;}
    body{
      height:100%;color:var(--t1);overflow-x:hidden;
      font-family:var(--font-family-base);font-size:var(--text-body);letter-spacing:-.2px;
      -webkit-font-smoothing:antialiased;
      background:transparent;
    }
    .bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--clinical-bg-image);}
    .app{
      max-width:430px;margin:0 auto;min-height:100%;position:relative;
      /* 하단바와 next-list 마지막 카드 겹침 방지: 여유 60px 추가 */
      padding-bottom:calc(var(--safe-b) + var(--tab-h) + var(--tab-bot) + 60px);
    }

    /* ===== HEADER · 공유 shell.css 로 이동 (header/logo/icon-btn) ===== */

    /* ===== GREETING ===== */
    .greet{animation:haru-fade-in-up var(--duration-slow,350ms) var(--easing-standard) both;padding:0 var(--page-pad);position:relative;z-index:1;}
    .greet-eyebrow{
      font-size:11px;font-weight:600;color:var(--accent-strong);
      letter-spacing:.4px;text-transform:uppercase;margin-bottom:10px;
      display:inline-flex;align-items:center;gap:6px;
    }
    .greet-eyebrow .pulse{
      width:8px;height:8px;border-radius:50%;background:var(--accent);
      box-shadow:0 0 0 0 rgba(var(--brand-green-500-rgb), .5);
      animation: haru-pulse 2s ease-in-out infinite;
    }
    .greet-main{
      /* v3.2.4: 헤드라인 weight 700 통일 (audit doc §4.3) */
      font-size:24px;font-weight:700;line-height:1.25;letter-spacing:-.6px;
      color:var(--t1);margin-bottom:8px;
    }
    .greet-main b{font-weight:700;}
    .greet-sub{
      font-size:14px;font-weight:500;color:var(--t2);line-height:1.5;
      letter-spacing:-.2px;
    }
    .greet-sub b{color:var(--t1);font-weight:600;}

    /* ===== HERO ALERT — 위험 환자 (근거 + 권장 액션 + CTA 2개) ===== */
    .alert{animation:haru-fade-in-up var(--duration-slow,350ms) var(--easing-standard) 80ms both;
      margin:28px var(--page-pad) 0;padding:20px;
      background:var(--card-bg);
      border-radius:var(--radius-card-lg);
      /* 위험 의미 보존: red-tinted shadow */
      box-shadow:0 12px 32px rgba(var(--color-danger-rgb), .10), var(--shadow-card-borderless);
      position:relative;z-index:1;
    }
    .alert-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
    .alert-ico{
      width:44px;height:44px;border-radius:14px;flex-shrink:0;
      background:var(--color-danger);
      color:var(--palette-white);
      display:inline-flex;align-items:center;justify-content:center;
      box-shadow:0 6px 16px rgba(var(--color-danger-rgb), .35);
    }
    .alert-ico iconify-icon{font-size:22px;}
    .alert-tag{
      flex:1;font-size:11px;font-weight:700;letter-spacing:.5px;
      color:var(--palette-red-700);text-transform:uppercase;
    }
    .alert-main{
      font-size:20px;font-weight:700;color:var(--t1);letter-spacing:-.6px;
      line-height:1.3;margin-bottom:2px;
    }
    .alert-sub{
      font-size:13px;font-weight:500;color:var(--t3);line-height:1.45;
      display:flex;align-items:center;gap:6px;margin-bottom:14px;
    }
    .alert-sub iconify-icon{font-size:14px;color:var(--t3);}

    /* 임상 근거 리스트 */
    .alert-evidence{
      display:flex;flex-direction:column;gap:8px;
      padding:12px 14px;border-radius:12px;
      background:var(--color-bg-surface-muted);
      margin-bottom:12px;
    }
    .evi-row{
      display:grid;grid-template-columns:18px auto 1fr;
      align-items:baseline;gap:8px;line-height:1.35;
    }
    .evi-row iconify-icon{font-size:16px;color:var(--palette-red-700);align-self:center;}
    .evi-row.warn iconify-icon{color:var(--palette-amber-700);}
    .evi-main{font-size:14px;font-weight:700;color:var(--t1);letter-spacing:-.2px;}
    .evi-sub{font-size:12px;font-weight:500;color:var(--t3);text-align:right;}

    /* 권장 액션 한 줄 */
    .alert-recommend{
      display:flex;align-items:baseline;gap:8px;
      padding:0 2px;margin-bottom:16px;line-height:1.4;
    }
    .rec-label{
      flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.4px;
      color:var(--accent-strong);text-transform:uppercase;
    }
    .rec-list{font-size:13px;font-weight:600;color:var(--t2);letter-spacing:-.1px;}

    /* CTA 2개 (지금 확인 · 회진 카드 열기) */
    .alert-ctas{display:flex;gap:8px;}
    .alert-cta{
      flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;
      height:48px;border-radius:14px;text-decoration:none;
      font-size:15px;font-weight:700;letter-spacing:-.2px;
      transition:transform .12s;
    }
    .alert-cta:active{transform:scale(.98);}
    .alert-cta iconify-icon{font-size:18px;}
    .alert-cta.primary{
      background:var(--color-danger);color:var(--palette-white);
    }
    .alert-cta.secondary{
      background:var(--accent-soft);color:var(--accent-strong);
    }

    /* ===== SECTION ===== */
    .sec{animation:haru-fade-in-up var(--duration-slow,350ms) var(--easing-standard) 160ms both;margin:32px var(--page-pad) 0;position:relative;z-index:1;}
    .sec-head{
      display:flex;align-items:baseline;justify-content:space-between;
      margin-bottom:14px;padding:0 2px;
    }
    .sec-eyebrow{
      font-size:11px;font-weight:600;color:var(--accent-strong);
      letter-spacing:.4px;text-transform:uppercase;
    }
    .sec-ttl{font-size:18px;font-weight:700;color:var(--t1);letter-spacing:-.4px;margin-top:5px;}
    .sec-more{
      font-size:12px;font-weight:500;color:var(--t3);text-decoration:none;
      display:inline-flex;align-items:center;gap:2px;align-self:flex-end;
    }
    .sec-more iconify-icon{font-size:14px;}

    /* ===== ACTION QUEUE — 미처리 임상 액션 (우선순위 큐) ===== */
    .sec-count{
      display:inline-flex;align-items:center;justify-content:center;
      min-width:22px;height:22px;padding:0 7px;border-radius:999px;
      background:var(--color-danger);color:var(--palette-white);
      font-size:12px;font-weight:700;letter-spacing:-.1px;
      margin-left:8px;vertical-align:1px;
    }
    .act-list{display:flex;flex-direction:column;gap:6px;}
    /* 그룹 헤더 (상태별 묶음) — 카드 좌측 칩 제거, 헤더로 상태 표시 */
    .act-group-head{
      display:flex;align-items:center;gap:6px;
      margin:14px 4px 6px;
      font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
      color:var(--t3);
    }
    .act-list > .act-group-head:first-child{margin-top:0;}
    .act-group-head iconify-icon{font-size:14px;}
    .act-group-head .cnt{font-size:11px;font-weight:600;color:var(--t3);margin-left:2px;}
    .act-group-head.warn-h{color:var(--palette-amber-700);}
    .act-group-head.warn-h iconify-icon{color:var(--color-warning);}
    .act-group-head.watch-h{color:var(--accent-strong);}
    .act-group-head.watch-h iconify-icon{color:var(--accent);}
    .act-group-head.wait-h{color:var(--t2);}
    .act-group-head.wait-h iconify-icon{color:var(--t3);}
    .act-group-head.due-h{color:var(--palette-red-700);}
    .act-group-head.due-h iconify-icon{color:var(--color-danger);}

    .act-card{
      background:var(--card-bg);border-radius:var(--radius-card-lg);
      box-shadow:var(--shadow-card-borderless);
      padding:14px 16px;
      display:flex;align-items:center;gap:12px;
      cursor:pointer;text-decoration:none;color:inherit;
      transition:transform .12s;
    }
    .act-card:active{transform:scale(.99);}
    /* 좌측 환자/항목 아바타 — 칩 대체, 상태별 톤만 다름 */
    .act-avatar{
      flex-shrink:0;width:36px;height:36px;border-radius:50%;
      display:inline-flex;align-items:center;justify-content:center;
      font-size:14px;font-weight:700;letter-spacing:-.2px;
      background:var(--accent-soft);color:var(--accent-strong);
    }
    .act-avatar iconify-icon{font-size:18px;}
    .act-card.warn  .act-avatar{background:var(--color-warning-soft);color:var(--palette-amber-700);}
    .act-card.watch .act-avatar{background:var(--accent-soft);color:var(--accent-strong);}
    .act-card.wait  .act-avatar{background:var(--palette-gray-100);color:var(--t2);}
    .act-card.due   .act-avatar{background:var(--color-danger-soft);color:var(--palette-red-700);}

    .act-meta{flex:1;min-width:0;line-height:1.35;}
    .act-main{font-size:15px;font-weight:700;color:var(--t1);letter-spacing:-.2px;}
    .act-sub{
      font-size:13px;font-weight:500;color:var(--t3);margin-top:4px;
      display:flex;align-items:center;gap:6px;
    }
    .act-sub iconify-icon{font-size:14px;color:var(--t3);}
    .act-chev{flex-shrink:0;color:var(--t3);}
    .act-chev iconify-icon{font-size:20px;}

    .act-card .act-status{
      display:inline;font-size:13px;font-weight:600;color:var(--t2);
    }
    .act-card .act-status .vital{
      color:var(--t3);font-variant-numeric:tabular-nums;font-weight:500;font-size:12px;
    }
    .act-card.warn  .act-status{color:var(--palette-amber-700);}
    .act-card.watch .act-status{color:var(--accent-strong);}
    .act-card.due   .act-status{color:var(--palette-red-700);}

    /* ===== TAB BAR + SOS ===== */
    /* v3.2.5: 세 앱 탭바 위치 통일 — env(safe-bottom) + 12px (보호자/요양보호사 기준) */
    .tab-wrap{
      position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);
      left:50%;transform:translateX(-50%);
      display:flex;align-items:center;gap:10px;
      width:calc(100% - 32px);max-width:398px;z-index:40;
    }
    /* v3.2.4: 탭바 글라스 — 옅은 그린 role tint (의료진 케어 정체성) */
    .tabbar{
      flex:1;min-width:0;height:var(--tab-h);
      background:rgba(255,255,255,.85);
      backdrop-filter:blur(20px) saturate(140%);
      -webkit-backdrop-filter:blur(20px) saturate(140%);
      border:1px solid rgba(255,255,255,.55);
      border-radius:999px;
      box-shadow:0 6px 22px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.4);
      display:flex;align-items:stretch;justify-content:space-around;padding:0 10px;
    }
    /* v3.2.5: 보호자 탭바 스타일로 통일 — 아이콘만, 26px (라벨 제거) */
    .tab{
      flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
      text-decoration:none;color:rgba(28,28,30,.45);border-radius:999px;
      padding:8px 4px;transition:all .18s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
    }
    .tab iconify-icon{font-size:26px;}
    .tab-label{display:none;} /* 라벨 숨김 — 보호자 탭바 통일 */
    .tab.active{color:var(--accent-strong);}
    .tab.active iconify-icon{filter:drop-shadow(0 2px 6px rgba(var(--brand-green-500-rgb), .28));}
    .sos{
      position:relative;width:var(--tab-h);height:var(--tab-h);flex-shrink:0;border-radius:50%;
      background:var(--color-danger);border:0;
      box-shadow:0 6px 22px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.4);
      display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
    }
    .sos iconify-icon{font-size:26px;color:var(--palette-white);}
/* Inline 대체 */
    .ico-accent-strong { color: var(--accent-strong); }
