    :root {
      --navy-deep: #141E30; --navy-mid: #1A2640; --navy-card: #1E2C42;
      --copper: #C89070; --copper-light: #D4A484; --copper-dim: rgba(200,144,112,0.15);
      --ice-white: #E8E4E0; --sky-silver: #A8B4C4; --white: #FFFFFF;
      --gray: #8A9AB5; --error: #E07070; --success: #70B896;
    }
    * { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
    html,body { height:100%; overflow-x:hidden; }
    body { font-family:'Noto Sans KR',sans-serif; background:var(--navy-deep); color:var(--white); min-height:100dvh; }

    .bg-glow {
      position:fixed; top:-20%; left:50%; transform:translateX(-50%);
      width:140vw; height:60vh; pointer-events:none; z-index:0;
      background:radial-gradient(ellipse at center,rgba(200,144,112,0.07) 0%,rgba(20,30,48,0) 70%);
    }
    .grain {
      position:fixed; inset:0; pointer-events:none; z-index:1;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
    }

    /* ── SCREEN SYSTEM ── */
    .screen { display:none; position:relative; z-index:2; width:100%; min-height:100dvh; }
    .screen.active { display:flex; flex-direction:column; align-items:center; animation:screenIn .35s ease; }
    @keyframes screenIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
    .fade-in { animation:fadeSlideUp .4s ease; }
    @keyframes fadeSlideUp { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:none} }

    /* ── CONTAINER ── */
    .container { width:100%; max-width:430px; min-height:100dvh; display:flex; flex-direction:column; padding:0 24px; }

    /* ══════════════════════════════
       HOME SCREEN
    ══════════════════════════════ */
    .home-logo { margin-top:72px; text-align:center; }
    .logo-symbol {
      width:64px; height:64px; border-radius:50%; margin:0 auto 20px;
      background:rgba(200,144,112,0.08); border:1px solid rgba(200,144,112,0.25);
      display:flex; align-items:center; justify-content:center;
    }
    .logo-symbol svg { width:28px; height:28px; stroke:var(--copper); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
    .logo-en { font-family:'Cormorant',serif; font-size:10px; font-weight:600; letter-spacing:.35em; text-transform:uppercase; color:var(--copper); display:block; margin-bottom:10px; }
    .logo-main { font-family:'Inter', sans-serif; font-size:42px; font-weight:700; letter-spacing:.09em; color:var(--white); }
    .logo-kr { font-size:12px; font-weight:300; color:var(--sky-silver); letter-spacing:.14em; margin-top:6px; display:block; }
    .home-divider { width:1px; height:44px; background:linear-gradient(to bottom,transparent,var(--copper),transparent); margin:32px auto; opacity:.4; }
    .home-tagline { font-family:'Cormorant',serif; font-size:14px; color:rgba(200,144,112,.65); letter-spacing:.18em; text-align:center; margin-bottom:40px; }
    .menu-group { width:100%; display:flex; flex-direction:column; gap:12px; }
    .menu-btn {
      width:100%; padding:20px 22px;
      background:rgba(200,144,112,.04); border:1px solid rgba(200,144,112,.18); border-radius:16px;
      color:var(--white); cursor:pointer; text-align:left;
      transition:all .3s cubic-bezier(.25,.46,.45,.94); display:flex; align-items:center; justify-content:space-between;
      backdrop-filter:blur(10px); overflow:hidden; position:relative;
    }
    .menu-btn::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(200,144,112,.1) 0%,transparent 60%); opacity:0; transition:opacity .3s; }
    .menu-btn:hover::before,.menu-btn:active::before { opacity:1; }
    .menu-btn:hover,.menu-btn:active { border-color:rgba(200,144,112,.45); transform:translateY(-2px); box-shadow:0 8px 32px rgba(200,144,112,.1); }
    .btn-content { display:flex; flex-direction:column; gap:3px; position:relative; z-index:1; }
    .btn-label { font-family:'Cormorant',serif; font-size:10px; font-weight:600; color:var(--copper); letter-spacing:.22em; text-transform:uppercase; }
    .btn-title { font-size:15px; font-weight:500; letter-spacing:.04em; }
    .btn-arrow { position:relative; z-index:1; width:32px; height:32px; border-radius:50%; background:rgba(200,144,112,.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all .3s; }
    .menu-btn:hover .btn-arrow { background:rgba(200,144,112,.22); }
    .btn-arrow svg { width:14px; height:14px; stroke:var(--copper); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
    .home-footer { margin-top:auto; padding:28px 0 36px; text-align:center; }
    .home-footer-text { font-family:'Cormorant',serif; font-size:10px; color:rgba(200,144,112,.25); letter-spacing:.25em; text-transform:uppercase; }

    /* ══════════════════════════════
       SURVEY SCREEN
    ══════════════════════════════ */
    .survey-header { width:100%; padding:52px 0 0; }
    .header-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
    .back-btn { display:flex; align-items:center; gap:6px; background:none; border:none; color:var(--sky-silver); cursor:pointer; padding:4px 0; font-family:'Noto Sans KR',sans-serif; font-size:13px; font-weight:300; letter-spacing:.04em; transition:color .2s; }
    .back-btn:hover { color:var(--copper-light); }
    .back-btn svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
    .step-indicator { font-family:'Cormorant',serif; font-size:13px; color:var(--copper); letter-spacing:.18em; }
    .progress-bar { width:100%; height:2px; background:rgba(200,144,112,.12); border-radius:2px; overflow:hidden; }
    .progress-fill { height:100%; background:linear-gradient(90deg,var(--copper),var(--copper-light)); border-radius:2px; transition:width .5s cubic-bezier(.4,0,.2,1); }

    .step-content { width:100%; flex:1; padding:30px 0 16px; }
    .step-q-label { font-family:'Cormorant',serif; font-size:10px; font-weight:600; color:var(--copper); letter-spacing:.22em; text-transform:uppercase; margin-bottom:10px; display:block; }
    .step-question { font-size:20px; font-weight:500; line-height:1.55; color:var(--white); margin-bottom:28px; letter-spacing:.02em; }
    .step-question em { font-style:normal; color:var(--copper-light); }

    /* Toggles */
    .toggle-list { display:flex; flex-direction:column; }
    .toggle-item { display:flex; align-items:center; gap:14px; padding:13px 0; border-bottom:1px solid rgba(200,144,112,.08); cursor:pointer; -webkit-user-select:none; user-select:none; transition:opacity .2s; }
    .toggle-item:last-child { border-bottom:none; }
    .toggle-switch { position:relative; flex-shrink:0; width:44px; height:24px; }
    .toggle-switch input { opacity:0; width:0; height:0; position:absolute; }
    .toggle-track { position:absolute; inset:0; background:rgba(168,180,196,.12); border:1.5px solid rgba(168,180,196,.22); border-radius:12px; transition:all .3s ease; }
    .toggle-track::after { content:''; position:absolute; top:2px; left:2px; width:16px; height:16px; background:var(--sky-silver); border-radius:50%; transition:all .3s ease; }
    .toggle-switch input:checked + .toggle-track { background:rgba(200,144,112,.18); border-color:var(--copper); }
    .toggle-switch input:checked + .toggle-track::after { left:22px; background:var(--copper); }
    .toggle-text { flex:1; }
    .toggle-name { font-size:14px; font-weight:400; color:var(--ice-white); line-height:1.4; }

    /* Form inputs */
    .field-group { margin-bottom:18px; }
    .field-label { font-size:11px; font-weight:400; color:var(--sky-silver); letter-spacing:.08em; margin-bottom:9px; display:block; }
    .field-input {
      width:100%; padding:15px 18px;
      background:rgba(200,144,112,.05); border:1px solid rgba(200,144,112,.2); border-radius:12px;
      color:var(--white); font-family:'Noto Sans KR',sans-serif; font-size:15px; font-weight:400;
      outline:none; transition:border-color .3s,background .3s; -webkit-appearance:none;
    }
    .field-input::placeholder { color:rgba(168,180,196,.35); font-weight:300; }
    .field-input:focus { border-color:var(--copper); background:rgba(200,144,112,.09); }
    textarea.field-input { resize:none; min-height:88px; line-height:1.7; }
    .field-input option { color:#141E30; background:#E8E4E0; }

    /* Survey footer */
    .survey-footer { width:100%; padding:14px 0 36px; display:flex; gap:12px; }
    .btn-next {
      flex:1; padding:17px; background:linear-gradient(135deg,var(--copper) 0%,#B07858 100%);
      border:none; border-radius:14px; color:var(--white); font-family:'Noto Sans KR',sans-serif;
      font-size:15px; font-weight:500; letter-spacing:.06em; cursor:pointer;
      transition:all .3s ease; box-shadow:0 4px 20px rgba(200,144,112,.28);
    }
    .btn-next:hover { transform:translateY(-1px); box-shadow:0 6px 28px rgba(200,144,112,.4); }
    .btn-prev { padding:17px 20px; background:rgba(200,144,112,.06); border:1px solid rgba(200,144,112,.2); border-radius:14px; color:var(--sky-silver); font-family:'Noto Sans KR',sans-serif; font-size:15px; cursor:pointer; transition:all .2s; }
    .btn-prev:hover { border-color:var(--copper); color:var(--copper-light); }

    /* ══════════════════════════════
       SURVEY DONE
    ══════════════════════════════ */
    .done-content { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:40px 0; }
    .done-icon { width:76px; height:76px; border-radius:50%; background:rgba(200,144,112,.1); border:1px solid rgba(200,144,112,.3); display:flex; align-items:center; justify-content:center; margin:0 auto 28px; animation:pulseIn .6s ease; }
    .done-icon svg { width:32px; height:32px; stroke:var(--copper); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
    @keyframes pulseIn { 0%{transform:scale(.6);opacity:0} 70%{transform:scale(1.06)} 100%{transform:scale(1);opacity:1} }
    .done-title { font-family:'Cormorant',serif; font-size:32px; font-weight:400; letter-spacing:.1em; margin-bottom:14px; }
    .done-subtitle { font-size:14px; font-weight:300; color:var(--sky-silver); line-height:1.8; letter-spacing:.04em; margin-bottom:44px; }
    .btn-home { padding:16px 48px; background:none; border:1px solid rgba(200,144,112,.35); border-radius:14px; color:var(--copper-light); font-family:'Noto Sans KR',sans-serif; font-size:14px; cursor:pointer; letter-spacing:.08em; transition:all .3s; }
    .btn-home:hover { border-color:var(--copper); background:rgba(200,144,112,.07); }

    /* ══════════════════════════════
       PATIENT SELECT SCREEN & COMMON
    ══════════════════════════════ */
    .search-box { position:relative; width:100%; margin-bottom:20px; }
    .search-box input { width:100%; padding:15px 18px 15px 44px; background:rgba(200,144,112,.04); border:1px solid rgba(200,144,112,.18); border-radius:14px; color:var(--white); font-family:'Noto Sans KR',sans-serif; font-size:15px; outline:none; transition:border-color .3s; }
    .search-box input:focus { border-color:var(--copper); }
    .search-box svg { position:absolute; left:16px; top:50%; transform:translateY(-50%); width:18px; height:18px; stroke:rgba(168,180,196,.6); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
    .list-wrap { display:flex; flex-direction:column; gap:8px; width:100%; }
    .list-item { width:100%; padding:16px 18px; background:rgba(200,144,112,.03); border:1px solid rgba(200,144,112,.1); border-radius:12px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; transition:all .2s; }
    .list-item:hover { border-color:var(--copper); background:rgba(200,144,112,.08); transform:translateY(-1px); }
    .list-item-title { font-size:15px; font-weight:500; letter-spacing:.02em; }
    .list-item-sub { font-size:12px; font-weight:300; color:var(--sky-silver); font-family:'Cormorant',serif; letter-spacing:.04em; }
    .list-item.focus-item { background:rgba(224,112,112,.04); border:1px dashed rgba(224,112,112,.4); }
    .list-item.focus-item .list-item-title { color:var(--copper-light); }

    /* ══════════════════════════════
       ADMIN SCREEN
    ══════════════════════════════ */
    .admin-topbar { width:100%; padding:52px 0 20px; display:flex; align-items:center; justify-content:space-between; }
    .admin-label-sm { font-family:'Cormorant',serif; font-size:10px; color:var(--copper); letter-spacing:.25em; text-transform:uppercase; margin-bottom:3px; }
    .admin-title { font-size:22px; font-weight:700; letter-spacing:.03em; }
    .admin-meta { font-size:12px; color:var(--sky-silver); font-weight:300; margin-top:2px; }
    .admin-avatar-wrap { display:flex; align-items:center; gap:8px; }
    .notif-dot { position:relative; }
    .notif-btn { width:38px; height:38px; border-radius:50%; background:rgba(200,144,112,.06); border:1px solid rgba(200,144,112,.18); display:flex; align-items:center; justify-content:center; cursor:pointer; }
    .notif-btn svg { width:17px; height:17px; stroke:var(--sky-silver); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
    .notif-badge { position:absolute; top:-2px; right:-2px; width:9px; height:9px; border-radius:50%; background:var(--copper); border:1.5px solid var(--navy-deep); }
    .admin-avatar { width:38px; height:38px; border-radius:50%; background:rgba(200,144,112,.12); border:1px solid rgba(200,144,112,.3); display:flex; align-items:center; justify-content:center; font-family:'Cormorant',serif; font-size:15px; font-weight:600; color:var(--copper); }

    /* Stats grid */
    .stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:24px; }
    .stat-card { background:rgba(200,144,112,.04); border:1px solid rgba(200,144,112,.14); border-radius:14px; padding:16px 18px; }
    .stat-lbl { font-size:11px; font-weight:300; color:var(--sky-silver); letter-spacing:.07em; margin-bottom:8px; }
    .stat-val { font-family:'Cormorant',serif; font-size:30px; font-weight:600; color:var(--white); line-height:1; }
    .stat-val span { font-size:13px; font-weight:300; color:var(--sky-silver); margin-left:3px; font-family:'Noto Sans KR',sans-serif; }
    .stat-note { font-size:11px; margin-top:6px; }
    .stat-note.ok { color:var(--success); }
    .stat-note.warn { color:var(--copper-light); }
    .stat-note.muted { color:var(--gray); }

    /* Section header */
    .sec-hd { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
    .sec-title { font-size:13px; font-weight:500; letter-spacing:.06em; }
    .sec-more { font-size:12px; color:var(--copper); background:none; border:none; cursor:pointer; letter-spacing:.04em; }

    /* Patient card */
    .pt-card {
      width:100%; background:rgba(200,144,112,.03); border:1px solid rgba(200,144,112,.11); border-radius:14px;
      padding:16px 18px; margin-bottom:10px; cursor:pointer;
      display:flex; align-items:center; gap:14px; transition:all .22s ease;
    }
    .pt-card:hover { border-color:rgba(200,144,112,.32); background:rgba(200,144,112,.07); transform:translateY(-1px); }
    .pt-av { width:44px; height:44px; border-radius:50%; background:rgba(200,144,112,.1); border:1px solid rgba(200,144,112,.22); display:flex; align-items:center; justify-content:center; font-size:15px; font-weight:500; color:var(--copper); flex-shrink:0; }
    .pt-info { flex:1; min-width:0; }
    .pt-name { font-size:15px; font-weight:500; letter-spacing:.02em; margin-bottom:3px; }
    .pt-meta { font-size:11px; font-weight:300; color:var(--sky-silver); }
    .pt-right { display:flex; flex-direction:column; align-items:flex-end; gap:5px; }
    .badge { font-size:10px; font-weight:500; padding:3px 9px; border-radius:20px; letter-spacing:.06em; white-space:nowrap; }
    .badge-active { background:rgba(112,184,150,.1); color:var(--success); border:1px solid rgba(112,184,150,.22); }
    .badge-review { background:rgba(200,144,112,.12); color:var(--copper-light); border:1px solid rgba(200,144,112,.25); }
    .badge-done { background:rgba(168,180,196,.08); color:var(--sky-silver); border:1px solid rgba(168,180,196,.18); }
    .pt-kg { font-family:'Cormorant',serif; font-size:14px; color:var(--success); }

    /* ══════════════════════════════
       PATIENT DETAIL
    ══════════════════════════════ */
    .detail-topbar { padding:52px 0 18px; }
    .hero-card { background:rgba(200,144,112,.04); border:1px solid rgba(200,144,112,.15); border-radius:20px; padding:22px 20px; margin-bottom:14px; }
    .hero-row { display:flex; align-items:center; gap:14px; margin-bottom:20px; }
    .hero-av { width:54px; height:54px; border-radius:50%; background:rgba(200,144,112,.12); border:1px solid rgba(200,144,112,.3); display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:500; color:var(--copper); flex-shrink:0; }
    .hero-name { font-size:21px; font-weight:700; letter-spacing:.02em; }
    .hero-prog { font-family:'Cormorant',serif; font-size:11px; color:var(--copper); letter-spacing:.18em; text-transform:uppercase; margin-top:3px; }
    .wt-labels { display:flex; justify-content:space-between; margin-bottom:9px; }
    .wt-lbl { font-size:11px; color:var(--sky-silver); }
    .wt-lbl strong { font-size:16px; font-weight:500; color:var(--white); display:block; margin-bottom:1px; }
    .wt-bar { height:6px; background:rgba(200,144,112,.12); border-radius:3px; overflow:hidden; }
    .wt-fill { height:100%; background:linear-gradient(90deg,var(--copper),var(--copper-light)); border-radius:3px; transition:width 1s ease; }
    .wt-pct { font-size:12px; color:var(--success); text-align:right; margin-top:6px; }

    /* Info chips */
    .chip-row { display:flex; gap:7px; flex-wrap:wrap; margin-top:10px; }
    .chip { font-size:11px; padding:4px 10px; border-radius:20px; background:rgba(168,180,196,.08); border:1px solid rgba(168,180,196,.15); color:var(--sky-silver); }
    .chip.copper { background:rgba(200,144,112,.08); border-color:rgba(200,144,112,.2); color:var(--copper-light); }

    /* Log items */
    .log-item { background:rgba(200,144,112,.03); border:1px solid rgba(200,144,112,.1); border-radius:12px; padding:14px 16px; margin-bottom:8px; }
    .log-date { font-family:'Cormorant',serif; font-size:11px; color:var(--copper); letter-spacing:.18em; text-transform:uppercase; margin-bottom:9px; }
    .log-tags { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:5px; }
    .log-tag { font-size:11px; padding:3px 8px; border-radius:6px; background:rgba(168,180,196,.07); border:1px solid rgba(168,180,196,.13); color:var(--sky-silver); }
    .log-tag.ok { background:rgba(112,184,150,.07); border-color:rgba(112,184,150,.18); color:var(--success); }
    .log-tag.warn { background:rgba(224,112,112,.07); border-color:rgba(224,112,112,.18); color:var(--error); }
    .log-note { font-size:12px; color:rgba(168,180,196,.7); line-height:1.65; margin-top:5px; font-style:italic; }

    /* Feedback */
    .fb-box { background:rgba(200,144,112,.04); border:1px solid rgba(200,144,112,.18); border-radius:14px; padding:16px 18px; margin-bottom:10px; }
    .fb-box textarea { width:100%; background:none; border:none; outline:none; color:var(--white); font-family:'Noto Sans KR',sans-serif; font-size:14px; font-weight:300; line-height:1.75; resize:none; min-height:82px; }
    .fb-box textarea::placeholder { color:rgba(168,180,196,.32); }
    .fb-send { width:100%; padding:15px; background:linear-gradient(135deg,var(--copper) 0%,#B07858 100%); border:none; border-radius:12px; color:var(--white); font-family:'Noto Sans KR',sans-serif; font-size:14px; font-weight:500; cursor:pointer; letter-spacing:.06em; box-shadow:0 3px 14px rgba(200,144,112,.22); transition:all .25s; }
    .fb-send:hover { transform:translateY(-1px); box-shadow:0 5px 20px rgba(200,144,112,.35); }

    /* ── MEDICAL HISTORY ITEMS ── */
    .disease-list, .supplement-list { display:flex; flex-direction:column; }
    .disease-item { border-bottom:1px solid rgba(200,144,112,.07); }
    .disease-item:last-child { border-bottom:none; }
    .dis-row { display:flex; align-items:center; gap:14px; padding:13px 0; cursor:pointer; -webkit-user-select:none; user-select:none; }
    .sub-reveal { display:none; padding:2px 0 12px 58px; }
    .sub-reveal.open { display:block; }
    .med-ws-wrap .sub-nested { display:none; padding:4px 0 4px 16px; }
    .med-ws-wrap.checked .sub-nested { display:block; }
    .sub-title { font-size:11px; color:var(--sky-silver); letter-spacing:.06em; margin:6px 0 5px; display:block; }
    .sub-radio-item, .sub-check-item { display:flex; align-items:center; gap:8px; padding:5px 0; font-size:13px; color:var(--ice-white); cursor:pointer; }
    .sub-radio-item input, .sub-check-item input { accent-color:var(--copper); flex-shrink:0; width:15px; height:15px; }
    .sub-select { width:100%; padding:9px 12px; background:rgba(200,144,112,.05); border:1px solid rgba(200,144,112,.18); border-radius:8px; color:var(--white); font-family:'Noto Sans KR',sans-serif; font-size:13px; outline:none; margin-top:2px; }
    .sub-select option { color:#141E30; background:#E8E4E0; }
    .sub-text { width:100%; padding:9px 12px; background:rgba(200,144,112,.05); border:1px solid rgba(200,144,112,.15); border-radius:8px; color:var(--white); font-family:'Noto Sans KR',sans-serif; font-size:13px; outline:none; }
    .sub-text::placeholder { color:rgba(168,180,196,.35); }
    .disease-note { margin-top:16px; }
    .sx-section-divider { border-top:1px solid rgba(200,144,112,.22); margin:18px 0 14px; }
    .sx-section-title { font-size:13px; font-weight:500; color:var(--copper-light); letter-spacing:.05em; margin-bottom:6px; }

    /* ══════════════════════════════
       MANAGEMENT SCREENS
    ══════════════════════════════ */
    .mgmt-header { width:100%; padding:52px 0 16px; }
    .mgmt-title { font-family:'Cormorant',serif; font-size:22px; font-weight:600; letter-spacing:.06em; color:var(--white); }
    .mgmt-sub { font-size:12px; color:var(--sky-silver); font-weight:300; margin-top:4px; }
    .mgmt-graph-wrap { background:rgba(200,144,112,.03); border:1px solid rgba(200,144,112,.12); border-radius:16px; padding:16px 18px; margin-bottom:18px; }
    /* 오늘 연락 카드 */
    .task-card { display:flex; align-items:center; gap:10px; background:rgba(200,144,112,.05); border:1px solid rgba(200,144,112,.16); border-radius:12px; padding:12px 14px; margin-bottom:8px; cursor:pointer; }
    .task-card:hover { background:rgba(200,144,112,.09); }
    .task-btn { flex-shrink:0; padding:8px 12px; background:rgba(200,144,112,.14); border:1px solid rgba(200,144,112,.35); border-radius:8px; color:var(--copper); font-size:12px; cursor:pointer; }
    .task-btn:hover { background:rgba(200,144,112,.24); }
    /* 환자 팝업 */
    .pp-box { width:440px; max-width:94vw; text-align:left; max-height:88vh; overflow-y:auto; position:relative; }
    .pp-close { position:absolute; top:14px; right:16px; background:transparent; border:none; color:var(--sky-silver); font-size:18px; cursor:pointer; }
    .pp-info { background:rgba(0,0,0,.18); border-radius:12px; padding:6px 14px; margin-bottom:6px; }
    .pp-row { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.06); font-size:13px; }
    .pp-row:last-child { border-bottom:none; }
    .pp-row span { color:var(--sky-silver); }
    .pp-row strong { color:var(--white); font-weight:600; }
    .pp-act { flex:1; padding:10px; background:rgba(200,144,112,.1); border:1px solid rgba(200,144,112,.3); border-radius:10px; color:var(--copper); font-size:13px; font-weight:600; cursor:pointer; }
    .pp-act:hover { background:rgba(200,144,112,.2); }
    .menu-btn-sm {
      width:100%; padding:16px 22px;
      background:rgba(200,144,112,.03); border:1px solid rgba(200,144,112,.14); border-radius:14px;
      color:var(--white); cursor:pointer; text-align:left;
      display:flex; align-items:center; justify-content:space-between;
      transition:all .3s; backdrop-filter:blur(10px);
    }
    .menu-btn-sm:hover { border-color:rgba(200,144,112,.4); background:rgba(200,144,112,.07); }
    .menu-btn-sm .btn-label { font-size:9px; color:var(--copper); letter-spacing:.2em; text-transform:uppercase; }
    .menu-btn-sm .btn-title { font-size:14px; font-weight:500; }

    /* ── '해당 없음' 배타 처리 / 암 가족력 드롭박스 ── */
    .none-divider { border-top:2px solid rgba(200,144,112,.4); margin:14px 0 16px; }
    .none-off { opacity:.35; pointer-events:none; filter:grayscale(.4); }
    .none-top .toggle-name { font-weight:600; }
    .fam-row { display:flex; gap:8px; margin-bottom:8px; }
    .fam-row select { flex:1; min-width:0; }