:root{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#13272c;background:radial-gradient(circle at top left,rgba(63,158,146,.18),transparent 22%),radial-gradient(circle at bottom right,rgba(67,115,255,.16),transparent 20%),linear-gradient(180deg,#edf5f7,#f7fafc)}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0}button,input,select,textarea{font:inherit}button{transition:.2s ease}.login-shell{min-height:100vh;padding:28px;background:radial-gradient(circle at 15% 20%,rgba(39,168,150,.28),transparent 24%),radial-gradient(circle at 85% 10%,rgba(96,135,255,.22),transparent 18%),linear-gradient(135deg,#0f252a,#17353f 40%,#11232d)}.login-hero{min-height:calc(100vh - 56px);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(380px,520px);gap:28px;align-items:stretch}.login-copy,.login-panel,.glass-card,.modal-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-copy{display:flex;flex-direction:column;justify-content:center;padding:40px;border-radius:28px;background:linear-gradient(180deg,#ffffff14,#ffffff08);border:1px solid rgba(255,255,255,.12);color:#fff;box-shadow:0 40px 80px #040d1040}.white{color:#9fdad1}.white-soft{color:#e9f3f5d1}.eyebrow{margin:0 0 12px;font-size:12px;letter-spacing:.16em;color:#189181}h1{margin:0;font-size:42px;line-height:1.18}.lead{margin:16px 0 0;font-size:15px;line-height:1.9;color:#5c7178}.feature-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px}.feature-wall article{padding:18px;border-radius:22px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.feature-wall strong,.feature-wall span{display:block}.feature-wall strong{margin-bottom:8px}.feature-wall span{color:#ebf5f8cc;line-height:1.7}.login-panel{border-radius:28px;background:#f7fbfdeb;border:1px solid rgba(220,231,236,.9);padding:28px;box-shadow:0 30px 80px #081a2138}.login-head h2{margin:0;font-size:28px}.login-head span{display:block;margin-top:8px;color:#657c84}.login-form{display:grid;gap:16px;margin-top:24px}.license-strip{margin-top:16px;padding:11px 13px;border-radius:14px;background:#f3fbf9;border:1px solid #cdece5;color:#0f6f66;font-size:13px;line-height:1.5}.license-strip.warn{background:#fff8e8;border-color:#f1d28c;color:#94610b}.license-strip.danger{background:#fff1f3;border-color:#f2bdc7;color:#b62642}.login-form label,.form-grid label{display:grid;gap:8px}.login-form span,.form-grid span{color:#5b747a;font-size:13px}.login-form input,.form-grid input,.form-grid select,.form-grid textarea,.project-select,.smart-search-row input,.filter-grid select{width:100%;border:1px solid #d8e5e9;border-radius:14px;background:#fff;padding:13px 14px;outline:none}.password-row{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:10px}.ghost,.link-btn,.menu-item,.demo-card{border:1px solid rgba(208,221,227,.9);background:#fff;color:#1d4449;cursor:pointer}.primary{border:0;background:linear-gradient(135deg,#17867a,#0f6f66);color:#fff;cursor:pointer;box-shadow:0 12px 24px #17867a38}.primary:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}.primary:hover,.ghost:hover,.link-btn:hover,.menu-item:hover,.demo-card:hover{transform:translateY(-1px)}.large-btn,.ghost,.primary,.project-select{border-radius:14px;padding:12px 16px}.eye-btn{padding:0}.error{margin:0;color:#d34a63}.success{color:#17867a!important}.warning-text{color:#c57a12!important}.demo-grid{display:grid;gap:12px;margin-top:24px}.demo-card{padding:14px 16px;border-radius:18px;text-align:left}.demo-card strong,.demo-card span,.demo-card small{display:block}.demo-card span{margin-top:8px;color:#284d54}.demo-card small{margin-top:6px;color:#72888e;line-height:1.7}.new-crm-page{min-height:100vh;display:grid;grid-template-columns:286px minmax(0,1fr);transition:grid-template-columns .2s ease}.new-crm-page.sidebar-collapsed{grid-template-columns:88px minmax(0,1fr)}.app-sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:18px;min-height:100vh;padding:24px 18px;background:linear-gradient(180deg,#0f252c,#133039);color:#fff;transition:.2s ease}.sidebar-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 12px;border-radius:16px;border:1px solid rgba(115,204,191,.28);background:#ffffff0f;color:#dff7f4;cursor:pointer}.sidebar-toggle span{font-size:20px;line-height:1}.sidebar-collapsed .app-sidebar{align-items:center;gap:16px;padding:18px 12px}.sidebar-collapsed .sidebar-toggle{width:56px;height:44px;padding:0}.sidebar-collapsed .sidebar-toggle strong,.sidebar-collapsed .sidebar-text,.sidebar-collapsed .project-badge,.sidebar-collapsed .sidebar-role,.sidebar-collapsed .menu-item strong{display:none}.brand-panel{display:flex;align-items:center;gap:14px;padding:10px 8px 22px}.sidebar-collapsed .brand-panel{justify-content:center;padding:0}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#43c9b4,#1a8b7f);font-weight:800;font-size:24px}.brand-panel strong,.brand-panel small,.project-badge span,.project-badge strong,.project-badge small,.sidebar-role small,.sidebar-role strong,.sidebar-role span{display:block}.brand-panel small,.project-badge span,.project-badge small,.sidebar-role span{color:#90b3ba}.project-badge,.sidebar-role{padding:16px;border-radius:22px;background:#ffffff0d;border:1px solid rgba(255,255,255,.07)}.menu-list{display:grid;gap:10px;width:100%}.menu-item{position:relative;display:flex;align-items:center;gap:12px;padding:14px 15px;border-radius:18px;background:transparent;color:#d4e5e7;border-color:transparent;text-align:left}.sidebar-tooltip{display:none;position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);z-index:60;padding:8px 11px;border-radius:12px;background:#0d252cf5;color:#fff;border:1px solid rgba(115,204,191,.28);box-shadow:0 12px 28px #05121638;font-style:normal;font-size:13px;font-weight:800;white-space:nowrap;pointer-events:none}.menu-item span{width:28px;text-align:center}.sidebar-collapsed .menu-item{justify-content:center;width:56px;height:52px;padding:0;margin:0 auto}.sidebar-collapsed .menu-item:hover .sidebar-tooltip{display:block}.menu-item.active{background:linear-gradient(135deg,#43c9b438,#4380ff2e);border-color:#73ccbf57;color:#fff}.sidebar-role{margin-top:auto}.workspace{padding:28px}.workspace-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.topbar-right{display:grid;gap:14px;width:min(360px,100%)}.operator-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:20px;background:#ffffffbf;border:1px solid rgba(217,229,235,.9);box-shadow:0 18px 40px #142f380f}.operator-card strong,.operator-card small{display:block}.operator-card small,.meta{color:#72878d}.toast-line{margin-bottom:20px;padding:14px 18px;border-radius:18px;background:#148c7a17;border:1px solid rgba(20,140,122,.18);color:#10695f}.page-stack{display:grid;gap:20px}.glass-card{background:#ffffffd1;border:1px solid rgba(220,231,236,.96);border-radius:26px;padding:22px;box-shadow:0 24px 48px #0d252d14}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.kpi-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.patient-workbench{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,.9fr);gap:20px;align-items:start}.patient-workbench.side-panel-hidden{grid-template-columns:minmax(0,1fr)}.patient-side-stack{display:grid;gap:20px}.side-stack-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:18px;background:#f7fbfc;border:1px solid #e1edf1;color:#637a82}.side-stack-toolbar.clickable{cursor:pointer}.side-stack-toolbar.clickable:hover{border-color:#17867a47;background:#f0faf8;box-shadow:0 14px 30px #0d252d0f}.side-stack-toolbar span{font-weight:800;color:#15373e}.patient-list-panel{min-width:0}.patient-table-shell{max-height:640px;overflow:auto;border-radius:18px}.patient-table-shell table{min-width:1480px}.patient-table-shell th:nth-child(5),.patient-table-shell td:nth-child(5),.patient-table-shell th:nth-child(6),.patient-table-shell td:nth-child(6),.patient-table-shell th:nth-child(9),.patient-table-shell td:nth-child(9),.patient-table-shell th:nth-child(10),.patient-table-shell td:nth-child(10){white-space:nowrap}.patient-table-shell th:nth-child(11),.patient-table-shell td:nth-child(11){min-width:270px;white-space:nowrap}.compact-card{padding:18px}.mini-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-chip{display:grid;gap:4px;padding:12px 14px;border-radius:16px;background:#f7fbfc;border:1px solid #e7f0f3}.stat-chip small,.stat-chip strong,.stat-chip span{display:block}.stat-chip small{color:#73878d}.stat-chip strong{font-size:28px;color:#16383f}.stat-chip span{color:#6f848b;line-height:1.5}.hidden-file{display:none}.import-summary-card{display:grid;gap:10px;margin-bottom:16px;padding:12px 14px;border-radius:16px;background:#f4fbf9;border:1px solid #cfe9e2}.import-summary-card strong,.import-summary-card small,.duplicate-list span{display:block}.import-summary-card small,.duplicate-list{margin-top:4px;color:#657b82}.duplicate-list{display:flex;flex-wrap:wrap;gap:8px}.duplicate-list span{padding:6px 10px;border-radius:999px;background:#fff1e4;color:#b96b13;font-size:12px}.field-warning{display:block;margin-top:6px;color:#c25360;font-weight:700}.kpi-card small,.kpi-card strong{display:block}.kpi-card small{color:#768a92}.kpi-card strong{margin-top:10px;font-size:34px;color:#15373e}.kpi-card.clickable{cursor:pointer}.kpi-card.clickable:hover{transform:translateY(-2px);border-color:#17867a47;box-shadow:0 20px 46px #142f381a}.kpi-card.active{border-color:#17867a73;background:linear-gradient(180deg,#f2fbf9,#fff)}.kpi-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;color:#768a92}.kpi-foot em{font-style:normal;color:#17867a}.hero-board{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.section-head h2{margin:0;font-size:24px;color:#15373e}.patient-detail-title{display:grid;gap:6px;padding:8px 10px;margin:-8px -10px;border:1px solid transparent;border-radius:16px;background:transparent;text-align:left;color:inherit}.patient-detail-title.clickable{cursor:pointer}.patient-detail-title.clickable:hover{background:#f3fbf9;border-color:#cfe9e4}.patient-detail-title small{color:#17867a;font-size:12px}.head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.highlight-list,.mini-stream,.detail-stream,.analysis-grid,.quick-actions,.flow-list,.check-list{display:grid;gap:12px}.highlight-item{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;padding:14px 16px;border-radius:18px;background:#f6fafb}.highlight-item span{color:#17867a;font-weight:700}.highlight-item p,.stream-block p,.analysis-card p,.stream-item p{margin:0;line-height:1.75;color:#35555d}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.soft{padding:14px 16px;border-radius:16px}.patient-mini-card{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:14px 16px;border-radius:18px;border:1px solid #e0eaee;background:#fbfdfe;text-align:left;cursor:pointer}.patient-mini-card strong,.patient-mini-card small,.stream-block strong,.stream-block small,.analysis-head strong,.analysis-head small,.summary-box small,.summary-box strong,.stream-item strong,.stream-item small{display:block}.patient-mini-card small,.stream-block small,.analysis-head small,.stream-item small,.summary-box small{margin-top:6px;color:#758991}.triple-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.dual-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.bar-board{display:grid;gap:12px}.bar-row,.flow-item,.check-list div,.summary-box,.stream-block,.detail-panel{padding:15px 16px;border-radius:18px;background:#f7fbfc;border:1px solid #e7f0f3}.bar-row,.flow-item{display:flex;align-items:center;justify-content:space-between;gap:14px}.flow-item span{color:#637a82}.smart-search-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:12px;margin-bottom:16px}.filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin-bottom:16px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px 14px;border-radius:16px;background:#f7fbfc;border:1px solid #e1edf1;color:#637a82}.table-toolbar label{display:flex;align-items:center;gap:8px;white-space:nowrap}.table-toolbar select{min-width:108px;border:1px solid #d8e5e9;border-radius:12px;background:#fff;padding:9px 10px;outline:none}.table-shell{overflow:auto}table{width:100%;border-collapse:collapse}thead th{padding:12px 10px;border-bottom:1px solid #e5edf1;color:#6d8289;text-align:left}tbody td{padding:14px 10px;border-bottom:1px solid #edf3f6;vertical-align:top}tbody td small{display:block;margin-top:6px;color:#7d9097}.patient-name-link{display:inline;padding:0;border:0;background:transparent;color:#15373e;font-weight:800;cursor:pointer;text-align:left}.patient-name-link:hover{color:#17867a;text-decoration:underline;text-underline-offset:3px}.action-group{display:flex;flex-wrap:nowrap;gap:8px}.link-btn{padding:8px 10px;border-radius:12px}.success-btn{color:#14795e}.danger-btn{color:#cd5563}.pill{display:inline-flex;align-items:center;justify-content:center;min-width:82px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.pill[data-tone=orange]{background:#fff1e4;color:#cb7a19}.pill[data-tone=blue]{background:#ebf2ff;color:#386fcd}.pill[data-tone=green]{background:#e9f8f2;color:#14795e}.pill[data-tone=cyan]{background:#e8f8fc;color:#17829d}.pill[data-tone=gray]{background:#f0f3f5;color:#71838a}.pill[data-tone=gold]{background:#fff5dc;color:#b27a00}.pill[data-tone=purple]{background:#f3eeff;color:#7354c4}.stat-mini small,.stat-mini strong{display:block}.stat-mini strong{margin-top:8px;font-size:32px}.tag-list{display:flex;flex-wrap:wrap;gap:12px}.tag{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:#f4fbf9;color:#156d61}.analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-card{padding:18px;border-radius:22px;background:#f9fcfd;border:1px solid #e8f1f4}.followup-reminder{position:fixed;right:24px;bottom:24px;width:min(360px,calc(100vw - 32px));z-index:20;padding:18px;border-radius:22px;background:#fffffff5;border:1px solid rgba(230,196,112,.55);box-shadow:0 24px 48px #1c292f29}.followup-reminder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.followup-reminder-controls{display:flex;gap:6px;flex-shrink:0}.followup-reminder-head strong,.followup-reminder-head span,.followup-reminder-item strong,.followup-reminder-item small{display:block}.followup-reminder-head span,.followup-reminder-item small{margin-top:6px;color:#73878d}.followup-reminder-list{display:grid;gap:10px}.followup-reminder-actions{display:grid;gap:10px;margin-top:12px}.reminder-action-row{display:flex;gap:8px;flex-wrap:wrap}.tiny{padding:8px 10px;border-radius:999px;font-size:12px}.followup-reminder-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border-radius:16px;border:1px solid #ebe3c7;background:#fffdf6;text-align:left;cursor:pointer}.followup-reminder-item span{color:#b97809;font-weight:700;white-space:nowrap}.reminder-action{width:100%;margin-top:12px}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#06151c7a;z-index:30}.modal-card{width:min(900px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:24px;border-radius:26px;background:#fffffff5;border:1px solid rgba(220,231,236,.92);box-shadow:0 32px 80px #08181f47}.modal-card.narrow{width:min(480px,100%)}.modal-card.wide{width:min(1280px,100%)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.one{grid-template-columns:1fr}.form-grid .full{grid-column:1 / -1}.form-grid textarea{resize:vertical;min-height:120px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.detail-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.summary-box strong{margin-top:8px;font-size:22px;color:#16383f}.detail-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.detail-panel{background:#fbfdfe}.section-head.compact{margin-bottom:10px}.patient-note-panel{margin-bottom:18px;padding:16px 18px;border-radius:18px;background:#f7fbfc;border:1px solid #e6eff2}.patient-note-panel p{margin:0;color:#35555d;line-height:1.8}.note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.note-grid div{padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #e6eff2}.note-grid small,.note-grid strong{display:block}.note-grid small{color:#71858b;margin-bottom:6px}.note-grid strong{color:#17393f;line-height:1.7}@media (max-width: 1280px){.login-hero,.hero-board,.patient-workbench,.triple-layout,.detail-columns,.analysis-grid{grid-template-columns:1fr}.feature-wall,.kpi-grid,.kpi-grid.three,.dual-board,.mini-stat-grid,.detail-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 980px){.new-crm-page{grid-template-columns:1fr}.app-sidebar{position:static;min-height:auto}.workspace-topbar,.smart-search-row,.password-row{grid-template-columns:1fr;display:grid}.topbar-right,.login-hero,.feature-wall,.kpi-grid,.kpi-grid.three,.dual-board,.patient-workbench,.mini-stat-grid,.detail-summary-grid,.form-grid,.quick-actions{grid-template-columns:1fr}.workspace{padding:18px}.login-shell{padding:16px}.followup-reminder{right:16px;bottom:16px}}
