/* ====== Personal Zone Enhance — Tab Navigation + Panels ====== */
/* Tab Bar */
.me-tab-bar{display:flex;gap:0;border-bottom:2px solid #e2e8f0;margin:16px 0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.me-tab-btn{flex:1;min-width:90px;padding:10px 14px;border:none;background:transparent !important;color:#475569 !important;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;transition:all .2s;position:relative;border-radius:8px 8px 0 0}
.me-tab-btn:hover{color:#6366f1 !important;background:#f8fafc !important}
.me-tab-btn.me-tab-active{color:#fff !important;background:#6366f1 !important;border-bottom-color:#4f46e5}
.me-tab-content{min-height:200px;position:relative}
.me-tab-pane{display:none;animation:meFadeIn .25s ease}
.me-tab-pane.me-tab-pane-active{display:block}
@keyframes meFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* Overview Bar */
.me-overview-bar{margin:8px 0 4px}
.me-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.me-overview-item{background:#f1f5f9 !important;border-radius:10px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .2s;border:1px solid transparent}
.me-overview-item:hover{border-color:#c7d2fe;background:#e0e7ff !important;transform:translateY(-1px)}
.me-overview-item .moi-icon{font-size:20px;margin-bottom:4px}
.me-overview-item .moi-label{font-size:11px;color:#64748b !important;font-weight:600}
.me-overview-item .moi-value{font-size:16px;font-weight:700;color:#334155 !important;margin-top:2px}
.me-overview-item .moi-status{font-size:10px;margin-top:2px;font-weight:600}
.moi-status-ok{color:#16a34a}.moi-status-warn{color:#f59e0b}.moi-status-err{color:#ef4444}

/* Panel common */
.me-panel{background:var(--h-card,#fff);border-radius:12px;padding:16px;margin-bottom:12px;border:1px solid var(--h-border,#e5e7eb)}
.me-panel-title{font-size:14px;font-weight:700;color:#334155;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}
.me-panel-body{font-size:13px;color:#475569;line-height:1.6}

/* Health form */
.me-form-group{margin-bottom:10px}
.me-form-label{font-size:12px;font-weight:600;color:#64748b;margin-bottom:4px;display:block}
.me-form-input,.me-form-select,.me-form-textarea{width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;background:#fff;color:#334155;box-sizing:border-box}
.me-form-input:focus,.me-form-select:focus,.me-form-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px rgba(99,102,241,0.1)}
.me-form-textarea{resize:vertical;min-height:60px}
.me-form-row{display:flex;gap:8px}
.me-form-row>*{flex:1}

/* Health metric cards */
.me-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.me-metric-card{background:#f8fafc;border-radius:10px;padding:10px;text-align:center;border:1px solid #e2e8f0}
.me-metric-card .mmc-label{font-size:11px;color:#64748b;font-weight:600}
.me-metric-card .mmc-value{font-size:20px;font-weight:700;margin:4px 0}
.me-metric-card .mmc-unit{font-size:11px;color:#94a3b8}
.me-metric-card.bp-high .mmc-value{color:#ef4444}
.me-metric-card.bp-normal .mmc-value{color:#16a34a}
.me-metric-card.bp-warn .mmc-value{color:#f59e0b}

/* Emergency card */
.me-emergency-card{background:linear-gradient(135deg,#fef2f2,#fff7ed);border:1px solid #fecaca;border-radius:12px;padding:16px;margin-bottom:12px}
.me-emergency-card .mec-title{font-size:14px;font-weight:700;color:#dc2626;margin-bottom:10px}
.me-emergency-card .mec-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px;color:#7f1d1d}
.me-emergency-card .mec-row span:first-child{font-weight:600}

/* Contact list */
.me-contact-list{display:flex;flex-direction:column;gap:8px}
.me-contact-item{display:flex;align-items:center;justify-content:space-between;background:#f8fafc;border-radius:8px;padding:8px 12px;border:1px solid #e2e8f0}
.me-contact-item .mci-info{font-size:13px}
.me-contact-item .mci-name{font-weight:600;color:#334155}
.me-contact-item .mci-phone{font-size:12px;color:#64748b}
.me-contact-item .mci-del{background:#fef2f2;color:#ef4444;border:none;border-radius:6px;padding:4px 8px;font-size:12px;cursor:pointer}

/* Finance summary */
.me-finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.me-finance-card{border-radius:10px;padding:12px;text-align:center}
.me-finance-card.income{background:#f0fdf4;border:1px solid #bbf7d0}
.me-finance-card.expense{background:#fef2f2;border:1px solid #fecaca}
.me-finance-card.balance{background:#eff6ff;border:1px solid #bfdbfe}
.me-finance-card .mfc-label{font-size:11px;font-weight:600;color:#64748b}
.me-finance-card .mfc-value{font-size:18px;font-weight:700;margin-top:4px}
.me-finance-card.income .mfc-value{color:#16a34a}
.me-finance-card.expense .mfc-value{color:#ef4444}
.me-finance-card.balance .mfc-value{color:#2563eb}

/* Transaction list */
.me-txn-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}
.me-txn-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;font-size:13px}
.me-txn-item .mti-left{display:flex;align-items:center;gap:8px}
.me-txn-item .mti-cat{font-size:11px;padding:2px 8px;border-radius:6px;background:#e0e7ff;color:#4338ca;font-weight:600}
.me-txn-item .mti-amount{font-weight:700;font-size:14px}
.me-txn-item .mti-amount.expense{color:#ef4444}
.me-txn-item .mti-amount.income{color:#16a34a}
.me-txn-item .mti-del{background:transparent;border:none;color:#ef4444;cursor:pointer;font-size:16px;padding:2px 4px}

/* Category bar chart */
.me-cat-bar{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px}
.me-cat-bar .mcb-label{width:60px;text-align:right;color:#64748b;font-weight:600;flex-shrink:0}
.me-cat-bar .mcb-track{flex:1;height:18px;background:#f1f5f9;border-radius:9px;overflow:hidden}
.me-cat-bar .mcb-fill{height:100%;border-radius:9px;transition:width .3s}
.me-cat-bar .mcb-amount{width:60px;color:#334155;font-weight:600;flex-shrink:0}

/* Calendar / Schedule */
.me-schedule-section{margin-bottom:16px}
.me-schedule-section-title{font-size:13px;font-weight:700;color:#475569;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #e2e8f0}
.me-schedule-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid #f1f5f9;font-size:13px}
.me-schedule-item:last-child{border-bottom:none}
.me-schedule-item .msi-time{flex-shrink:0;width:70px;color:#64748b;font-weight:600}
.me-schedule-item .msi-title{color:#334155;font-weight:500}
.me-schedule-item .msi-type{font-size:11px;padding:1px 6px;border-radius:4px;background:#e0e7ff;color:#4338ca}
.me-schedule-empty{text-align:center;padding:20px;color:#94a3b8;font-size:13px}

/* Preference radar */
.me-pref-radar{width:100%;max-width:300px;margin:0 auto;display:block}
.me-pref-dim{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px}
.me-pref-dim .mpd-label{width:60px;font-weight:600;color:#475569}
.me-pref-dim .mpd-track{flex:1;height:8px;background:#f1f5f9;border-radius:4px}
.me-pref-dim .mpd-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#6366f1,#818cf8)}

/* Buttons */
.me-btn{padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}
.me-btn-primary{background:#6366f1;color:#fff}
.me-btn-primary:hover{background:#4f46e5}
.me-btn-secondary{background:#f1f5f9;color:#475569}
.me-btn-secondary:hover{background:#e2e8f0}
.me-btn-danger{background:#fef2f2;color:#ef4444;border:1px solid #fecaca}
.me-btn-sm{padding:4px 10px;font-size:12px}

/* Skeleton */
.me-skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:meShimmer 1.5s infinite;border-radius:8px;height:60px;margin-bottom:10px}
@keyframes meShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Error boundary */
.me-error-boundary{padding:16px;text-align:center;color:#ef4444;font-size:13px;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}

/* Dark mode */
[data-theme="dark"] .me-tab-bar,[data-theme="night"] .me-tab-bar{border-bottom-color:#334155}
[data-theme="dark"] .me-tab-btn,[data-theme="night"] .me-tab-btn{color:#cbd5e1 !important}
[data-theme="dark"] .me-tab-btn:hover,[data-theme="night"] .me-tab-btn:hover{background:#1e293b !important;color:#818cf8 !important}
[data-theme="dark"] .me-tab-btn.me-tab-active,[data-theme="night"] .me-tab-btn.me-tab-active{color:#fff !important;background:#4f46e5 !important;border-bottom-color:#6366f1}
[data-theme="dark"] .me-overview-item,[data-theme="night"] .me-overview-item{background:#1e293b !important;border-color:transparent}
[data-theme="dark"] .me-overview-item:hover,[data-theme="night"] .me-overview-item:hover{background:#312e81 !important;border-color:#6366f1}
[data-theme="dark"] .me-overview-item .moi-label,[data-theme="night"] .me-overview-item .moi-label{color:#94a3b8 !important}
[data-theme="dark"] .me-overview-item .moi-value,[data-theme="night"] .me-overview-item .moi-value{color:#e2e8f0 !important}
[data-theme="dark"] .me-panel,[data-theme="night"] .me-panel{background:#1e293b !important;border-color:#334155}
[data-theme="dark"] .me-panel-title,[data-theme="night"] .me-panel-title{color:#e2e8f0}
[data-theme="dark"] .me-form-input,[data-theme="dark"] .me-form-select,[data-theme="dark"] .me-form-textarea,[data-theme="night"] .me-form-input,[data-theme="night"] .me-form-select,[data-theme="night"] .me-form-textarea{background:#0f172a;color:#e2e8f0;border-color:#475569}
[data-theme="dark"] .me-metric-card,[data-theme="night"] .me-metric-card{background:#0f172a;border-color:#334155}
[data-theme="dark"] .me-contact-item,[data-theme="night"] .me-contact-item{background:#0f172a;border-color:#334155}
[data-theme="dark"] .me-txn-item,[data-theme="night"] .me-txn-item{background:#0f172a;border-color:#334155}
[data-theme="dark"] .me-finance-card.income,[data-theme="night"] .me-finance-card.income{background:#052e16;border-color:#15803d}
[data-theme="dark"] .me-finance-card.expense,[data-theme="night"] .me-finance-card.expense{background:#450a0a;border-color:#991b1b}
[data-theme="dark"] .me-finance-card.balance,[data-theme="night"] .me-finance-card.balance{background:#0c1e3a;border-color:#1d4ed8}
[data-theme="dark"] .me-skeleton,[data-theme="night"] .me-skeleton{background:linear-gradient(90deg,#1e293b 25%,#334155 50%,#1e293b 75%);background-size:200% 100%}
[data-theme="dark"] .me-error-boundary,[data-theme="night"] .me-error-boundary{background:#451a1a;border-color:#7f1d1d;color:#fca5a5}
[data-theme="dark"] .me-cat-bar .mcb-track,[data-theme="night"] .me-cat-bar .mcb-track{background:#1e293b}

/* Mobile */
@media(max-width:480px){
  .me-overview-grid{grid-template-columns:repeat(2,1fr)}
  .me-metric-grid{grid-template-columns:1fr}
  .me-finance-summary{grid-template-columns:1fr}
  .me-tab-btn{font-size:13px;padding:8px 10px;min-width:70px}
}

      /* 个人区场景卡片 — 复用长辈区 elder-card 设计语言 */
      .personal-scene-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        margin-bottom: 16px;
      }
      .personal-scene-grid.cap-grid-2 {
        grid-template-columns: repeat(2, 1fr) !important;
      }

      .personal-scene-card {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 18px 16px;
        background: var(--h-card, #fff);
        border: 1px solid var(--h-border, #e5e7eb);
        border-radius: 16px;
        cursor: pointer;
        transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        position: relative;
        overflow: hidden;
        min-height: 80px;
      }
      .personal-scene-card::before {
        content: '';
        position: absolute;
        left: 0; top: 0; bottom: 0;
        width: 3px;
        background: var(--card-accent, #6366f1);
        opacity: 0;
        transition: opacity 0.2s;
      }
      .personal-scene-card:hover {
        border-color: var(--h-accent, #6366f1);
        transform: translateY(-3px);
        box-shadow: 0 8px 24px rgba(99,102,241,0.12);
      }
      .personal-scene-card:hover::before {
        opacity: 1;
      }
      .personal-scene-card:active {
        transform: scale(0.97);
      }

      .personal-scene-icon-wrap {
        width: 48px;
        height: 48px;
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        background: rgba(99,102,241,0.08);
        transition: transform 0.2s;
      }
      .personal-scene-card:hover .personal-scene-icon-wrap {
        transform: scale(1.08);
      }
      .personal-scene-icon-wrap.cat-health { background: rgba(239,68,68,0.1); }
      .personal-scene-icon-wrap.cat-finance { background: rgba(16,185,129,0.1); }
      .personal-scene-icon-wrap.cat-schedule { background: rgba(59,130,246,0.1); }
      .personal-scene-icon-wrap.cat-family { background: rgba(168,85,247,0.1); }
      .personal-scene-icon-wrap.cat-life { background: rgba(245,158,11,0.1); }
      .personal-scene-icon-wrap.cat-safety { background: rgba(239,68,68,0.1); }
      .personal-scene-icon-wrap.cat-default { background: rgba(99,102,241,0.08); }

      .personal-scene-icon {
        font-size: 24px;
        line-height: 1;
      }
      .personal-scene-icon svg {
        width: 24px;
        height: 24px;
      }
      .personal-scene-icon-wrap.cat-health svg { color: #ef4444; }
      .personal-scene-icon-wrap.cat-finance svg { color: #10b981; }
      .personal-scene-icon-wrap.cat-schedule svg { color: #3b82f6; }
      .personal-scene-icon-wrap.cat-family svg { color: #a855f7; }
      .personal-scene-icon-wrap.cat-life svg { color: #f59e0b; }
      .personal-scene-icon-wrap.cat-safety svg { color: #ef4444; }
      .personal-scene-icon-wrap.cat-default svg { color: #6366f1; }

      .personal-scene-body {
        flex: 1;
        min-width: 0;
      }
      .personal-scene-title {
        font-size: 15px;
        font-weight: 600;
        color: var(--h-text, #1f2937);
        margin-bottom: 2px;
      }
      .personal-scene-desc {
        font-size: 12px;
        color: var(--h-text-soft, #6b7280);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .personal-scene-status {
        font-size: 11px;
        color: var(--h-text-soft, #9ca3af);
        padding: 3px 8px;
        border-radius: 8px;
        background: var(--h-bg-soft, #f3f4f6);
        flex-shrink: 0;
        white-space: nowrap;
      }
      .personal-scene-status.s-positive { color: #10b981; background: rgba(16,185,129,0.1); }
      .personal-scene-status.s-negative { color: #ef4444; background: rgba(239,68,68,0.1); }
      .personal-scene-status.s-neutral { color: #6b7280; background: rgba(107,114,128,0.08); }
      .personal-scene-status.s-blue { color: #3b82f6; background: rgba(59,130,246,0.1); }
      .personal-scene-status.s-purple { color: #8b5cf6; background: rgba(139,92,246,0.1); }


      .elder-mode .personal-scene-card,
      [data-mode="elder"] .personal-scene-card {
        min-height: 88px;
        padding: 20px;
      }
      .elder-mode .personal-scene-icon,
      [data-mode="elder"] .personal-scene-icon {
        font-size: 36px;
        width: 56px;
        height: 56px;
      }
      .elder-mode .personal-scene-title,
      [data-mode="elder"] .personal-scene-title {
        font-size: 18px;
      }
      .elder-mode .personal-scene-desc,
      [data-mode="elder"] .personal-scene-desc {
        font-size: 14px;
      }
      .elder-mode .personal-scene-status,
      [data-mode="elder"] .personal-scene-status {
        font-size: 13px;
        padding: 4px 12px;
      }

      /* 暗色模式 */
      [data-theme="dark"] .personal-scene-card {
        background: var(--h-card, #1f2937);
      }
      [data-theme="dark"] .personal-scene-icon {
        background: rgba(99,102,241,0.15);
      }
      [data-theme="dark"] .personal-scene-status {
        background: var(--h-bg, #374151);
      }

      /* 更多功能卡片保持原有样式 */
      .more-func-card {
        opacity: 0.85;
        display: flex !important;
        align-items: center;
        gap: 10px;
        padding: 12px;
      }
      .more-func-card:hover {
        opacity: 1;
      }
      .more-func-card .cc-body {
        flex: 1;
        min-width: 0;
      }
      .more-func-card .cc-desc {
        font-size: 11px;
        color: var(--h-secondary, #9ca3af);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .more-func-card .cc-icon {
        font-size: 20px;
        flex-shrink: 0;
      }

      /* P14: 全局搜索框 */
    .global-cap-search-wrap {
      position: relative;
      margin: 0 0 16px 0;
      max-width: 100%;
    }
    .global-cap-search-input {
      width: 100%;
      padding: 10px 36px 10px 14px;
      border: 1.5px solid #e5e7eb;
      border-radius: 12px;
      font-size: 14px;
      background: #fff;
      color: #1f2937;
      transition: border-color 0.2s, box-shadow 0.2s;
      box-sizing: border-box;
      outline: none;
    }
    .global-cap-search-input:focus {
      border-color: #6366f1;
      box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
    }
    .global-cap-search-input::placeholder {
      color: #9ca3af;
    }
    .global-cap-search-icon {
      position: absolute;
      right: 12px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 14px;
      pointer-events: none;
      opacity: 0.5;
    }
    .global-search-empty {
      grid-column: 1 / -1;
      text-align: center;
      padding: 40px 20px;
      color: #9ca3af;
      font-size: 14px;
    }
    .global-search-results .personal-scene-card {
      animation: pzSearchFadeIn 0.2s ease;
    }
    @keyframes pzSearchFadeIn {
      from { opacity: 0; transform: translateY(8px); }
      to { opacity: 1; transform: translateY(0); }
    }
    [data-theme="dark"] .global-cap-search-input {
      background: #1f2937;
      border-color: #374151;
      color: #f3f4f6;
    }
    [data-theme="dark"] .global-cap-search-input:focus {
      border-color: #6366f1;
      box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2);
    }
    [data-theme="dark"] .global-cap-search-input::placeholder {
      color: #6b7280;
    }
    [data-theme="dark"] .global-cap-search-icon {
      opacity: 0.4;
    }

    /* 旧搜索框（保留兼容） */
      .more-func-search-wrap {
        padding: 8px 0 12px;
      }
      .more-func-search-input {
        width: 100%;
        padding: 8px 14px;
        border: 1px solid var(--h-border, #e5e7eb);
        border-radius: 20px;
        font-size: 13px;
        background: var(--h-card, #fff);
        color: var(--h-text, #1f2937);
        outline: none;
        transition: border-color 0.2s;
      }
      .more-func-search-input:focus {
        border-color: var(--h-accent, #6366f1);
      }
      .more-func-search-input::placeholder {
        color: var(--h-secondary, #9ca3af);
      }

      .more-func-empty {
        text-align: center;
        padding: 24px;
        color: var(--h-secondary, #9ca3af);
        font-size: 13px;
      }

      [data-theme="dark"] .more-func-search-input {
        background: var(--h-card, #1f2937);
        border-color: var(--h-border, #374151);
      }
    