:root{--bg: #f5f8ff;--bg-2: #eef5ff;--card: #ffffff;--primary: #1677ff;--primary-strong: #0759d8;--primary-soft: #eaf3ff;--teal: #08b9aa;--text: #17233d;--muted: #7a869a;--border: #e5edf8;--shadow: 0 12px 34px rgba(29, 86, 165, .11);--app-bg-image: radial-gradient(circle at 18% 8%, rgba(104, 174, 255, .22), transparent 30%), linear-gradient(180deg, #f7fbff 0%, #eef5ff 44%, #f8fbff 100%);color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{min-height:100%;background:var(--app-bg-image)}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;overflow-x:hidden;background:var(--app-bg-image)}#root{min-height:100vh;min-height:100dvh;background:var(--app-bg-image)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;min-height:100dvh;padding-bottom:calc(92px + env(safe-area-inset-bottom));background:var(--app-bg-image)}.page-frame{width:min(430px,100%);min-height:100vh;margin:0 auto;padding:24px 18px}.page-frame-detail{padding-top:36px}.page-frame-new-entry{padding-top:50px}.page-frame-tab-lower{padding-top:42px}.page-stack{display:grid;gap:16px}.app-card,.panel,.empty-state,.case-item,.sample-item{border:1px solid rgba(226,236,250,.95);border-radius:18px;background:#fffffff5;box-shadow:var(--shadow)}.panel,.app-card{padding:16px}.mobile-page-title{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;min-height:44px;text-align:center}.mobile-page-title h1,.app-hero h1,.page-top-title{margin:0;color:#11264b;font-size:23px;line-height:1.2;letter-spacing:0}.page-top-title{min-height:44px;display:grid;place-items:center;text-align:center;padding:0 56px}.result-page-title{margin-top:16px}.case-detail-page-title,.continue-page-title{margin-top:14px}.app-back-button,.icon-link{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--border);border-radius:13px;background:var(--card);color:var(--primary);box-shadow:0 8px 18px #1677ff14}.case-create-page .mobile-page-title .app-back-button{position:fixed;top:calc(42px + env(safe-area-inset-top));left:max(24px,calc((100vw - 430px)/2 + 18px));z-index:20}.floating-page-back{position:fixed;z-index:20;border:1px solid var(--border)}.draggable-floating-back{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.draggable-floating-back:active{cursor:grabbing}.case-create-page .mobile-page-title{grid-template-columns:1fr;padding:0 56px}.case-create-page .mobile-page-title h1{writing-mode:horizontal-tb;white-space:nowrap;text-align:center}.app-hero{position:relative;display:flex;justify-content:space-between;align-items:center;min-height:178px;padding:28px 4px 18px}.dashboard-page{margin-top:10px}.dashboard-page .app-hero{min-height:166px;padding-top:18px}.app-hero-copy{display:grid;gap:10px}.hello-line{margin:10px 0 0;color:#243653;font-size:17px;font-weight:700}.app-hero-copy .muted-copy{white-space:nowrap}.doctor-badge{display:grid;place-items:center;width:108px;height:108px;border-radius:38px;background:linear-gradient(145deg,#ffffffe0,#dbedffc7),radial-gradient(circle at 30% 30%,#ffffff 0 18%,transparent 19%);color:var(--primary);box-shadow:0 20px 40px #4288e633}.app-search,.search-box{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:54px;padding:0 14px;border:1px solid #e2eaf6;border-radius:17px;background:#fffffff5;color:#8a97aa;box-shadow:0 10px 22px #3668b114}.search-box{grid-template-columns:auto minmax(0,1fr);min-height:48px;border-radius:15px;box-shadow:none}.app-search input,.search-box input{min-height:46px;padding:0;border:0;background:transparent;box-shadow:none}.app-search input:focus,.search-box input:focus{border-color:transparent;box-shadow:none}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-card{display:grid;align-content:end;gap:8px;min-height:138px;padding:18px;border-radius:18px;color:#fff;box-shadow:0 18px 30px #1677ff3d}.primary-quick-card{background:linear-gradient(145deg,#fff3f8,#ffe7f0);color:#9b2f5d;box-shadow:0 18px 30px #e75b921f}.teal-quick-card{background:linear-gradient(145deg,#effcf6,#ddf8eb);color:#15734b;box-shadow:0 18px 30px #18a6661c}.quick-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff3}.primary-quick-card .quick-icon,.teal-quick-card .quick-icon{background:#ffffffb8}.primary-quick-card .quick-icon{color:#d94f8a}.teal-quick-card .quick-icon{color:#19a464}.quick-card strong{font-size:19px;line-height:1.2}.quick-card small{color:#ffffffe0;font-size:13px;line-height:1.35}.primary-quick-card small{color:#9b2f5db8}.teal-quick-card small{color:#15734bb8}.section-title,.page-heading,.page-actions,.sample-head,.sample-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h2{margin:0;color:#14294b;font-size:18px;line-height:1.25}.section-title span,.small-link{color:var(--muted);font-size:13px}.recent-section{display:grid;gap:10px}.recent-section .section-title{padding:0 4px}.recent-case-list{display:grid;gap:10px}.recent-case-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:82px;padding:14px 16px}.recent-case-row:last-child{border-bottom:0}.recent-case-row strong{display:flex;gap:8px;align-items:baseline;color:#17233d;font-size:15px;line-height:1.25}.recent-case-row strong span{color:#66758c;font-size:12px;font-weight:600}.recent-case-row small{display:block;margin-top:5px;overflow:hidden;color:#66758c;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.recent-case-meta{display:grid;justify-items:end;gap:7px}.recent-case-meta time{color:#8b96a8;font-size:12px}.status-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:800}.status-pill.active,.record-status.generated{background:#eef6ff;color:#5d96e8}.status-pill.done{background:#edf3fb;color:#60718a}.empty-mini{display:flex;align-items:center;gap:8px;min-height:62px;color:var(--muted);font-size:14px}.form-grid{display:grid;gap:14px}.form-card{padding:16px}.field{display:grid;gap:10px}.field>span{color:#17233d;font-size:15px;font-weight:800}.sample-inline-card{padding:12px 16px}.sample-inline-card .field{grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px}.sample-inline-card .field>span{white-space:nowrap}.sample-inline-card input,.sample-inline-card select{min-height:42px}.sample-inline-card .priority-input{min-height:36px}input,select,textarea{width:100%;border:1px solid #dfe8f5;border-radius:14px;background:#fbfdff;color:var(--text);font-size:16px;outline:none}input,select{min-height:48px;padding:0 13px}.priority-input{min-height:38px;padding:0 11px}textarea{min-height:128px;resize:vertical;padding:13px;line-height:1.58}.admission-textarea{min-height:120px}.exam-textarea{min-height:92px}.requirement-textarea{min-height:78px}.field-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.field-head-row>span{color:#17233d;font-size:15px;font-weight:800}.case-hint-card .field{grid-template-columns:92px minmax(0,1fr);align-items:center}.recognition-inline-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.recognition-inline-grid .field{gap:6px}.recognition-inline-grid select{min-height:42px;padding:0 10px;font-size:14px}.time-rule-card{padding:10px 14px}.time-rule-card .fold-row{min-height:38px;border-radius:13px;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #1677ff1f}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sub-panel{display:grid;gap:10px;padding:12px;border:1px solid #e4edf8;border-radius:16px;background:#f8fbff}.primary-action,.secondary-action,.danger-action,.back-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:15px;padding:0 16px;font-weight:800}.primary-action{width:100%;border:0;background:linear-gradient(135deg,#2587ff,#0f6dff);color:#fff;box-shadow:0 14px 24px #1677ff40}.soft-primary-action{border:1px solid rgba(120,174,255,.45);background:linear-gradient(135deg,#dff0ff,#c8e4ff);color:#1677ff;box-shadow:0 10px 18px #1677ff1f}.secondary-action{flex:1 1 100%;border:1px solid #cfe0f7;background:#fff;color:var(--primary)}.inline-action{width:auto;flex:1 1 160px}.full-width{width:100%;flex-basis:100%}.compact-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid #d7e4f5;border-radius:12px;padding:0 11px;background:#fff;color:var(--primary);font-size:13px;font-weight:800;white-space:nowrap}.danger-action,.danger-compact-action{border-color:#ffd6d9;background:#fff7f8;color:#d6424d}.action-row{display:flex;flex-wrap:wrap;gap:10px}.result-save-actions{position:sticky;bottom:calc(78px + env(safe-area-inset-bottom));z-index:8;padding:10px 0 0;background:linear-gradient(180deg,#f5f8ff00,#f5f8fff5 30%)}.generate-actions .inline-action{min-height:44px;flex:1 1 0;width:auto;border:1px solid rgba(120,174,255,.45);background:linear-gradient(135deg,#dff0ff,#c8e4ff);color:#1677ff;font-size:15px;box-shadow:0 10px 18px #1677ff1f}.fold-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;border:1px solid #dfe8f5;border-radius:14px;background:#fff;color:#1f3355;padding:0 12px;text-align:left}.fold-row span{display:inline-flex;align-items:center;gap:6px;font-weight:800;line-height:1.35}.fold-row small{color:var(--primary);white-space:nowrap}.rule-preview{margin:10px 0 0;padding:12px;border-radius:14px;background:#f3f7fd;color:#30415f;font:inherit;font-size:13px;line-height:1.58;white-space:pre-wrap}.sample-match-list{display:grid;gap:9px;margin-top:10px}.match-title{margin:2px 0;color:#17233d;font-size:14px;font-weight:800}.sample-check{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid #e4edf8;border-radius:14px;background:#fbfdff}.sample-check input{width:auto;min-height:auto;margin-top:3px}.sample-check span{display:grid;gap:4px;min-width:0}.sample-check strong{color:#17233d;font-size:14px;line-height:1.35}.sample-check small,.muted-copy,.save-hint,.error-hint{margin:0;color:var(--muted);line-height:1.6}.save-hint{color:#0d9360}.error-hint{color:#cf3f4b}.prompt-strip{padding:0}.prompt-fold-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:46px;padding:0 12px}.plain-fold-action,.plain-fold-toggle,.prompt-inline-actions button{border:0;background:transparent;color:var(--primary);padding:0;font-weight:800}.plain-fold-action{color:#17233d;text-align:left}.prompt-inline-actions{display:inline-flex;gap:12px}.prompt-preview-textarea,.large-textarea{min-height:300px;white-space:pre-wrap}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.stats-grid span{min-height:36px;padding:8px 10px;border-radius:12px;background:#f4f8fe;color:#53637c;font-size:13px}.compact-stats-grid{grid-template-columns:1fr;margin:-4px 0 0}.continue-prompt-stats{margin:0;padding:0 12px 12px}.record-draft-list{display:grid;gap:12px}.record-draft-card{display:grid;gap:10px;padding:14px;border:1px solid #e4edf8;border-radius:16px;background:#fbfdff}.record-draft-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.record-draft-head h3{display:grid;gap:2px;margin:0;color:#17233d;font-size:16px;line-height:1.45}.record-draft-head h3 span{display:block}.record-title-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.record-title-line>span{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.record-title-line small{color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.record-draft-actions{display:flex;flex-wrap:wrap;gap:8px}.record-draft-textarea{min-height:240px}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;width:min(430px,100%);min-height:calc(70px + env(safe-area-inset-bottom));margin:0 auto;padding:8px 14px calc(8px + env(safe-area-inset-bottom));border:1px solid rgba(222,231,244,.94);border-bottom:0;border-radius:22px 22px 0 0;background:#fffffffa;box-shadow:0 -10px 28px #2d5c9b1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav a{display:grid;place-items:center;gap:3px;min-height:52px;border-radius:16px;color:#a1aabd;font-size:12px}.bottom-nav a.active{color:var(--primary);font-weight:800}.empty-state{padding:28px 18px;text-align:center}.empty-state h2{margin:0 0 8px;font-size:18px}.list-stack,.sample-category-entry-list{display:grid;gap:12px}.sample-category-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;min-height:78px;padding:14px;border:1px solid #e3ecf8;border-radius:17px;background:#fff;color:#17233d;text-align:left;box-shadow:0 10px 22px #2d5c9b14}.sample-category-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#55a2ff,#1f78f2);color:#fff}.sample-category-main{display:grid;gap:5px;min-width:0}.sample-category-main strong{overflow:hidden;color:#17233d;font-size:16px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.sample-category-main small{color:var(--muted);font-size:13px;line-height:1.3}.sample-category-detail-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.sample-category-detail-head h3{margin:0;color:#17233d;font-size:18px}.sample-category-detail-head span{color:var(--muted);font-size:13px}.sample-item,.case-item{padding:14px}.sample-head{align-items:flex-start}.sample-head .icon-cluster{display:flex;flex:0 0 86px;flex-wrap:nowrap;justify-content:flex-end;gap:8px}.plain-head{display:block;min-width:0;overflow:hidden;border:0;background:transparent;color:inherit;padding:0;text-align:left}.sample-item h3,.case-item h3{margin:0 0 3px;color:#17233d;font-size:16px}.sample-item p,.case-item p{margin:0 0 3px;color:#5f6f86;font-size:13px;line-height:1.35}.sample-category-tag{display:inline-flex;width:fit-content;margin:0 0 6px;padding:3px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:800}.sample-foot{margin-top:10px;color:var(--muted);font-size:12px}.sample-item pre{max-height:240px;overflow:auto;margin:10px 0;padding:12px;border-radius:14px;background:#f5f8fe;color:#30415f;font:inherit;line-height:1.6;white-space:pre-wrap}.case-toolbar{display:grid;gap:12px}.case-search-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:10px}.case-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.case-filter-tabs{display:flex;gap:8px;overflow-x:auto;padding:1px 0 2px;scrollbar-width:none}.case-filter-tabs::-webkit-scrollbar{display:none}.case-filter-tabs button{flex:0 0 auto;min-height:34px;padding:0 16px;border:1px solid rgba(226,236,250,.95);border-radius:999px;background:#ffffffb8;color:#5f6f86;font-size:14px;font-weight:800;box-shadow:0 8px 16px #3a6fb814}.case-filter-tabs button.active{border-color:#1677ff4d;background:linear-gradient(135deg,#68a6ff,#2f7eff);color:#fff;box-shadow:0 10px 18px #2f7eff33}.case-selectable-item{position:relative;display:block;overflow:hidden;padding:0}.case-select-check{grid-area:check;align-self:center}.case-select-check input{width:18px;min-height:18px}.case-item-main{position:relative;display:block;min-width:0;min-height:88px;padding-right:66px;padding-bottom:18px}.case-swipe-content{position:relative;z-index:2;padding:12px 14px;border-radius:inherit;background:#fff;transition:transform .22s ease}.case-selectable-item.actions-open .case-swipe-content{transform:translate(-238px)}.case-swipe-actions{position:absolute;top:14px;right:14px;bottom:14px;z-index:1;display:grid;grid-template-columns:62px 86px 62px;align-items:center;gap:8px;opacity:0;pointer-events:none;transition:opacity .18s ease}.case-selectable-item.actions-open .case-swipe-actions{opacity:1;pointer-events:auto}.case-swipe-select,.case-swipe-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:42px;padding:0 8px;border:1px solid #dbe8fb;border-radius:14px;background:#fff;color:var(--primary);font-size:13px;font-weight:800;white-space:nowrap}.case-swipe-select input{width:16px;min-height:16px}.case-swipe-action.danger{border-color:#f6d5d8;background:#fff6f6;color:#d9434f}.case-list-summary{display:grid;gap:2px;min-width:0}.case-list-summary small{position:absolute;left:0;bottom:0}.case-reference-summary{color:#17233d;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.case-list-side{position:absolute;top:0;right:0;bottom:0;display:grid;align-content:space-between;justify-items:end;width:58px;color:var(--muted);font-size:12px;line-height:1.2;white-space:nowrap}.case-list-side .status-pill{min-height:22px}.case-save-sample-action{grid-area:sample}.case-delete-action{grid-area:delete}.case-save-sample-form{display:grid;gap:8px;margin:0 14px 14px;padding-top:10px;border-top:1px solid #edf3fb}.case-save-sample-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.patient-summary{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:9px;padding:12px 14px;border:1px solid #e3ecf8;border-radius:20px;background:#fff;box-shadow:var(--shadow)}.new-case-result-summary{padding-top:10px;padding-bottom:10px}.case-detail-summary{margin-top:30px}.patient-summary h2{margin:0 0 3px;color:#17233d;font-size:21px}.patient-summary p{margin:0;color:#5e6f86;line-height:1.38}.patient-summary>span{padding:5px 10px;border-radius:999px;background:#e9fbf3;color:#0a9b62;font-size:12px;font-weight:800}.case-detail-status-stack{display:grid;justify-items:end;gap:8px}.case-detail-status-stack>span:last-child{color:var(--muted);font-size:12px;font-weight:700}.eyebrow{margin:0;color:var(--primary);font-size:13px;font-weight:800}.record-picker-panel{position:relative;padding:0 0 0 18px;border:0;background:transparent;box-shadow:none}.record-picker-panel:before{content:"";position:absolute;top:48px;bottom:8px;left:25px;width:2px;background:#dbe5f2}.record-picker-panel .section-title{margin-bottom:12px}.record-tabs{display:grid;gap:12px}.generated-record-tabs .record-tab-card{margin-left:0}.generated-record-tabs .record-tab-card:before{display:none}.record-tab-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:74px;margin-left:18px;padding:10px 12px 10px 16px;border:1px solid #e3ecf8;border-radius:16px;background:#fff;color:#17233d;box-shadow:0 10px 24px #2d5c9b17}.record-tab-card:before{content:"";position:absolute;left:-29px;top:22px;width:10px;height:10px;border:3px solid #fff;border-radius:999px;background:var(--primary);box-shadow:0 0 0 2px var(--primary)}.record-tab-card.selected{border-color:#bdd8ff;background:#f9fcff}.record-tab-card>button:first-child{display:grid;gap:7px;min-width:0;border:0;background:transparent;color:inherit;padding:0;text-align:left}.record-copy-button{min-height:34px;padding:0 10px}.record-tabs span{overflow:hidden;font-size:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.record-tabs small{color:var(--muted);font-size:12px}.record-editor-panel{display:grid;gap:12px}.record-textarea{min-height:320px}.case-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;border-radius:18px;background:transparent;box-shadow:none}.record-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;align-items:end;padding:18px 18px calc(96px + env(safe-area-inset-bottom));background:#0d1e3847}.record-modal{width:min(430px,100%);max-height:calc(100vh - 128px);margin:0 auto;overflow:auto;display:grid;gap:14px;padding:16px;border:1px solid #e3ecf8;border-radius:22px;background:#fffffffa;box-shadow:0 22px 46px #19488438}.settings-form,.input-with-button{display:grid;gap:12px}.input-with-button{grid-template-columns:minmax(0,1fr) 82px}.security-hint{margin:0;padding:12px;border:1px solid #ffe3b8;border-radius:14px;background:#fff8ea;color:#8a5a13;font-size:13px;line-height:1.5}@media(max-width:390px){.page-frame{padding-inline:14px}.quick-card{min-height:126px;padding:15px}.two-col{grid-template-columns:1fr}}
