.patient-workspace { display:grid; gap:18px; }
.patient-workspace-toolbar { display:flex; align-items:center; gap:12px; padding:16px 18px; background:#fff; border:1px solid #e8edf4; border-radius:14px; }
.patient-workspace-toolbar label { position:relative; flex:1; max-width:420px; }
.patient-workspace-toolbar input { width:100%; height:42px; padding:0 14px 0 38px; border:1px solid #dbe3ed; border-radius:10px; background:#f7f9fc; color:#243247; font-size:14px; box-sizing:border-box; }
.patient-workspace-toolbar label::before { content:'⌕'; position:absolute; left:14px; top:9px; color:#738197; font-size:19px; }
.patient-workspace-tabs { display:flex; gap:7px; padding:5px; background:#f1f4f8; border-radius:11px; }
.patient-workspace-tabs button { border:0; border-radius:8px; padding:9px 15px; background:transparent; color:#66748a; cursor:pointer; font-weight:650; }
.patient-workspace-tabs button.active { background:#fff; color:#1769d2; box-shadow:0 2px 8px rgba(31,58,91,.09); }
.patient-workspace-tabs b { display:inline-grid; min-width:20px; height:20px; place-items:center; margin-left:5px; border-radius:10px; background:#e7edf5; font-size:11px; }
.patient-workspace-tabs button.active b { background:#e5f0ff; color:#1769d2; }
.patient-status-section { display:grid; gap:12px; }
.patient-status-section>header { display:flex; align-items:center; justify-content:space-between; }
.patient-status-section>header h3 { margin:0; color:#26364c; font-size:17px; }
.patient-status-section>header span { color:#8995a7; font-size:12px; }
.patient-card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
.patient-work-card { position:relative; display:grid; gap:14px; min-height:190px; padding:18px; border:1px solid #e2e8f0; border-radius:15px; background:#fff; box-shadow:0 6px 18px rgba(46,66,91,.055); cursor:pointer; transition:.18s ease; }
.patient-work-card:hover { transform:translateY(-2px); border-color:#a9c9ef; box-shadow:0 10px 26px rgba(46,86,134,.1); }
.patient-work-card:focus-visible { outline:3px solid rgba(45,132,230,.2); }
.patient-work-card-head { display:flex; align-items:flex-start; gap:12px; }
.patient-work-card-head>span { min-width:0; flex:1; display:grid; gap:4px; }
.patient-work-card-head strong { color:#1f2e42; font-size:16px; }
.patient-work-card-head small { color:#8190a5; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.patient-service-pill { flex:none; padding:5px 9px; border-radius:999px; font-size:11px; font-style:normal; font-weight:700; }
.patient-service-pill.preparing { background:#eef2f7; color:#66758a; }
.patient-service-pill.serving { background:#e8f2ff; color:#1769d2; }
.patient-service-pill.paused { background:#fff4df; color:#aa6b0b; }
.patient-service-pill.completed { background:#f0f1f3; color:#5d6570; }
.patient-work-card-info { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.patient-work-card-info span { display:grid; gap:4px; padding:9px; border-radius:9px; background:#f7f9fc; color:#8491a3; font-size:11px; }
.patient-work-card-info strong { color:#35445a; font-size:13px; font-weight:650; }
.patient-work-card-foot { display:flex; align-items:center; gap:8px; padding-top:12px; border-top:1px solid #edf0f4; color:#758398; font-size:12px; }
.patient-work-card-foot span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.patient-work-card-foot b { margin-left:auto; color:#1769d2; font-size:12px; }
.patient-workspace-empty { padding:60px 20px; border:1px dashed #d4dce7; border-radius:14px; background:#fafbfd; text-align:center; color:#7c889b; }
.patient-hub { display:grid; gap:15px; min-height:calc(100vh - 128px); }
.patient-hub-head { display:flex; align-items:center; gap:14px; padding:16px 18px; border:1px solid #e4eaf1; border-radius:14px; background:#fff; }
.patient-hub-back { width:38px; height:38px; border:1px solid #dbe2eb; border-radius:9px; background:#fff; color:#536176; cursor:pointer; font-size:19px; }
.patient-hub-identity { display:flex; align-items:center; gap:11px; min-width:210px; }
.patient-hub-identity .avatar { width:44px; height:44px; background:#e7f2ff; color:#1769d2; }
.patient-hub-identity span { display:grid; gap:3px; }
.patient-hub-identity strong { color:#203047; font-size:17px; }
.patient-hub-identity small { color:#8491a4; }
.patient-hub-group { display:grid; gap:4px; margin-left:auto; color:#7b8799; font-size:11px; }
.patient-hub-group select,.patient-hub-status select { min-width:170px; height:38px; padding:0 34px 0 11px; border:1px solid #dbe2eb; border-radius:9px; background:#f9fafc; color:#334258; }
.patient-hub-status { display:grid; gap:4px; color:#7b8799; font-size:11px; }
.patient-hub-status select.serving { border-color:#9dc5f4; background:#edf5ff; color:#1769d2; }
.patient-hub-body { display:grid; grid-template-columns:minmax(0,1fr) 255px; gap:15px; min-height:0; }
.patient-hub-main { min-width:0; overflow:hidden; border:1px solid #e4eaf1; border-radius:14px; background:#f5f8fc; }
.patient-hub-tabs { display:flex; gap:2px; padding:10px 13px; overflow:auto; border-bottom:1px solid #e2e8f0; background:#fff; }
.patient-hub-tabs button { flex:none; border:0; border-radius:8px; padding:10px 15px; background:transparent; color:#66748a; cursor:pointer; font-weight:650; }
.patient-hub-tabs button.active { background:#e9f3ff; color:#1769d2; }
.patient-hub-feature { height:calc(100vh - 248px); min-height:560px; overflow:auto; padding:16px; box-sizing:border-box; }
.patient-hub-aside { display:grid; align-content:start; gap:12px; }
.patient-hub-profile { padding:16px; border:1px solid #e4eaf1; border-radius:14px; background:#fff; }
.patient-hub-profile h4 { margin:0 0 13px; color:#26364c; }
.patient-hub-profile dl { display:grid; grid-template-columns:1fr 1fr; gap:12px 9px; margin:0; }
.patient-hub-profile dl div { display:grid; gap:3px; }
.patient-hub-profile dt { color:#8a96a7; font-size:11px; }
.patient-hub-profile dd { margin:0; color:#344258; font-size:13px; font-weight:650; }
.patient-hub-profile .condition-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.patient-hub-profile .condition-tags span { padding:5px 8px; border-radius:7px; background:#f0f4f8; color:#607087; font-size:11px; }
.patient-hub-link-note { padding:17px; border:1px solid #dce7f4; border-radius:14px; background:#f2f7fd; color:#556880; line-height:1.7; }
.patient-hub-link-note strong { display:block; margin-bottom:5px; color:#285d99; }
.patient-hub .wecom-ai-scroll,.patient-hub .wecom-patient-scroll { max-height:none; }
.patient-hub .wecom-feature-page { padding:0; }
.group-binding-source { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:5px 12px; padding:12px 14px; border:1px solid #e2e8f0; border-radius:10px; background:#f7f9fc; }
.group-binding-source strong { color:#657389; font-size:12px; }
.group-binding-source span { color:#26364b; font-weight:700; }
.group-binding-source small { grid-column:1/-1; color:#8995a7; }
.patient-log-page { display:grid; gap:16px; }
.patient-log-title { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px; border:1px solid #e2e8f0; border-radius:13px; background:#fff; }
.patient-log-title h3 { margin:0; color:#243349; font-size:20px; }
.patient-log-title p { margin:5px 0 0; color:#7b899d; font-size:13px; }
.patient-log-totals { display:flex; gap:9px; }
.patient-log-totals span { display:grid; min-width:76px; gap:2px; padding:9px 12px; border-radius:9px; background:#f1f6fc; color:#748398; text-align:center; font-size:11px; }
.patient-log-totals b { color:#1769d2; font-size:18px; }
.patient-date-list { display:grid; gap:15px; }
.patient-date-group { overflow:hidden; border:1px solid #e1e7ef; border-radius:13px; background:#fff; }
.patient-date-group>header { padding:13px 17px; border-bottom:1px solid #e9edf3; background:#f8fafc; }
.patient-date-group>header div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.patient-date-group>header strong { color:#29394f; font-size:15px; }
.patient-date-group>header span { color:#8390a2; font-size:12px; }
.patient-date-rows { display:grid; }
.patient-diet-row,.patient-exercise-row { display:flex; align-items:center; gap:15px; padding:16px 17px; }
.patient-diet-row+.patient-diet-row,.patient-exercise-row+.patient-exercise-row { border-top:1px solid #edf0f4; }
.patient-record-time { flex:0 0 70px; display:grid; gap:5px; }
.patient-record-time strong { color:#1769d2; font-size:14px; }
.patient-record-time span { color:#8a96a7; font-size:12px; }
.patient-record-content { min-width:0; flex:1; display:grid; gap:5px; }
.patient-record-content>strong { overflow:hidden; color:#2e3c50; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.patient-record-content p { margin:0; color:#68778b; font-size:12px; line-height:1.55; }
.patient-record-content small { color:#91a0b3; font-size:11px; }
.patient-record-nutrients { flex:0 0 auto; display:grid; grid-template-columns:repeat(4,minmax(68px,1fr)); gap:7px; margin:0; }
.patient-record-nutrients div { display:grid; gap:3px; padding:7px 9px; border-radius:8px; background:#f5f7fa; text-align:center; }
.patient-record-nutrients dt { color:#8b97a8; font-size:10px; }
.patient-record-nutrients dd { margin:0; color:#425167; font-size:12px; font-weight:700; }
.patient-exercise-icon { display:grid; flex:0 0 42px; height:42px; place-items:center; border-radius:12px; background:#e9f3ff; color:#1769d2; font-weight:800; }
.patient-exercise-status { padding:6px 10px; border-radius:999px; background:#e8f2ff; color:#1769d2; font-size:11px; font-weight:700; }
.patient-exercise-status.pending { background:#f0f2f5; color:#707b8c; }
.patient-log-empty { display:grid; place-items:center; gap:7px; min-height:320px; border:1px dashed #d5dee9; border-radius:13px; background:#fff; color:#8794a6; }
.patient-log-empty strong { color:#526176; font-size:16px; }
@media (max-width:1100px) { .patient-workspace-toolbar { align-items:stretch; flex-direction:column; }.patient-workspace-toolbar label{max-width:none}.patient-hub-head{flex-wrap:wrap}.patient-hub-group{margin-left:0}.patient-hub-body{grid-template-columns:1fr}.patient-hub-aside{grid-template-columns:repeat(2,1fr)} }
@media (max-width:700px) { .patient-workspace-tabs{overflow:auto}.patient-workspace-tabs button{flex:none}.patient-card-grid{grid-template-columns:1fr}.patient-hub-aside{grid-template-columns:1fr}.patient-hub-feature{height:auto;min-height:520px}.patient-hub-group,.patient-hub-status{width:100%}.patient-hub-group select,.patient-hub-status select{width:100%}.patient-log-title{align-items:flex-start;flex-direction:column}.patient-log-totals{width:100%;overflow:auto}.patient-diet-row{align-items:flex-start;flex-wrap:wrap}.patient-record-nutrients{grid-template-columns:repeat(2,1fr);width:100%} }

.ip-detail-navigation { display:flex; align-items:center; gap:12px; align-self:center; flex-shrink:0; }
.ip-detail-navigation strong { font-size:15px; color:#26364c; }
.ip-patient-workspace .patient-work-card-foot b { white-space:nowrap; }

.patient-workspace-actions { display:flex;gap:10px;margin-left:auto;flex-shrink:0; }
.patient-workspace-toolbar { flex-wrap:wrap; }.patient-batch-toolbar { display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 18px;background:#fff;border:1px solid #e5edf6;border-radius:12px; }.patient-batch-toolbar .danger-button { margin-left:auto; }
.patient-work-card.selected { border-color:#4f8fe8;background:#f4f8ff; }.patient-work-card-head>input { width:18px;height:18px;accent-color:#4f8fe8; }.patient-work-card-foot .delete-action { margin-left:auto;flex:none; }

.patient-meal-food { margin-bottom:14px; } .patient-meal-food>span { margin-left:10px; color:#758297; }
.meal-food-levels { display:flex; gap:8px; flex-wrap:wrap; margin-top:7px; }
.meal-food-levels span { padding:4px 9px; border-radius:7px; font-size:13px; background:#f0f3f7; color:#758297; }
.meal-food-levels .level-low { background:#eaf3ff; color:#2465aa; } .meal-food-levels .level-medium { background:#fff3dd; color:#976119; } .meal-food-levels .level-high { background:#ffedf0; color:#b94047; }
.patient-meal-photos { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0; } .patient-meal-photo { width:120px; height:120px; object-fit:cover; border-radius:12px; cursor:zoom-in; background:#f1f5fa; }
.patient-meal-preview { position:fixed; inset:0; z-index:1000; background:rgba(15,23,42,.85); display:flex; justify-content:center; align-items:center; cursor:zoom-out; } .patient-meal-preview img { max-width:92vw; max-height:92vh; object-fit:contain; }
