:root{--bg:#fff;--ink:#000;--muted:#8e8e93;--line:#c6c6c8;--line-soft:#e5e5ea;--search-bg:#eef0f4;--yellow:#ff0;--tab-blue:#007aff;--tab-blue-soft:#d6e8ff;--fab-purple:#7c18bc;--fab-green:#0c700c;--fab-red:#ff3b5c;--fab-teal:#2a9d8f;--header-h:44px;--tab-h:56px;--safe-bottom:env(safe-area-inset-bottom,0px);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;line-height:1.25}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}.app-shell{background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.main-stage{min-height:0;padding-bottom:calc(var(--tab-h) + var(--safe-bottom) + 10px);flex-direction:column;flex:auto;display:flex;overflow:hidden}.tab-bar{left:10px;right:10px;bottom:calc(6px + var(--safe-bottom));height:var(--tab-h);border:1px solid var(--line-soft);z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-radius:18px;grid-template-columns:repeat(4,1fr);display:grid;position:absolute;box-shadow:0 8px 24px #0000001f}.tab{color:#3a3a3c;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px;font-size:10px;font-weight:500;display:flex;position:relative}.tab-icon{border-radius:10px;place-items:center;width:28px;height:28px;font-size:16px;line-height:1;display:grid}.tab.active{color:var(--tab-blue)}.tab.active .tab-icon{background:var(--tab-blue-soft)}.tab-badge{color:#fff;z-index:1;background:#ff3b30;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 3px;font-size:10px;font-weight:700;display:grid;position:absolute;top:2px;right:calc(50% - 22px)}.screen{background:#fff;flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.nav-title{flex:0 0 var(--header-h);height:var(--header-h);border-bottom:1px solid var(--line-soft);background:#fff;place-items:center;font-size:17px;font-weight:700;display:grid;position:relative}.nav-title.with-back{justify-content:center;align-items:center;display:flex}.back-btn{background:#fff;border:1px solid #111;border-radius:8px;padding:4px 12px;font-size:14px;font-weight:500;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-toolbar{border-bottom:1px solid var(--line-soft);flex:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.ios-search{background:var(--search-bg);border-radius:10px;flex:auto;align-items:center;gap:6px;padding:7px 10px;display:flex}.ios-search-icon{color:var(--muted);font-size:15px}.ios-search input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:15px}.ios-search input::placeholder{color:#8e8e93}.hit-count{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;flex:none;min-width:2.2rem;font-size:15px}.rep-hint,.status-error{display:none}.list-scroll{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:auto}.ios-list{margin:0;padding:0;list-style:none}.ios-row{border-bottom:.5px solid var(--line-soft);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#fff;padding:5px 12px;font-size:12px;line-height:1.25;overflow:hidden}.ios-row.selected{background:var(--yellow)}.split-workspace.classic-layout,.split-workspace.stacked-layout,.split-workspace.free-layout,.split-workspace.maximized-layout{flex-direction:column;gap:0;height:100%;min-height:0;display:flex}.split-band-toolbar.thin,.split-pane-chrome.thin{gap:6px;min-height:24px;padding:2px 6px}.split-top-row,.split-lower{min-height:0;display:flex}.split-top-row{flex-direction:row}.split-lower{flex-direction:column}.split-search-side,.split-rubric-side,.split-graph-band,.stacked-band,.stacked-search,.stacked-rubric,.stacked-graph,.stacked-mm,.split-mm-wrap{flex-direction:column;min-width:0;min-height:0;display:flex}.stacked-bands{flex:auto;min-height:0}.stacked-band{height:100%}.stacked-graph-body{flex-direction:column;flex:auto;min-height:0;display:flex}.split-mm-band{flex:auto;height:100%;min-height:0}.free-desktop{background:linear-gradient(#eef2f6 0%,#e4ebf2 100%);flex:auto;min-height:0;position:relative;overflow:hidden}.floating-window{background:#fff;border:1px solid #9aadc2;border-radius:6px;flex-direction:column;min-width:240px;min-height:140px;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 24px #1428462e}.floating-window-maximized{box-shadow:none;border-radius:0}.floating-window-chrome{cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;background:#d7e2ee;border-bottom:1px solid #b7c6d6;flex:none;align-items:center;gap:8px;padding:4px 8px;display:flex}.floating-window-title{color:#1c2a3a;white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.window-chrome-btns{flex:none;align-items:center;gap:2px;margin-left:auto;display:flex}.window-chrome-btn{color:#1c2a3a;cursor:pointer;background:#f4f7fa;border:1px solid #9aadc2;border-radius:3px;width:22px;height:20px;padding:0;font-size:12px;line-height:1}.window-chrome-btn:hover{background:#e4ecf5}.split-workspace.has-dock{flex-direction:column;display:flex}.window-dock{background:#d0dae6;border-top:1px solid #9aadc2;flex-wrap:wrap;flex:none;align-items:center;gap:6px;min-height:36px;padding:6px 8px;display:flex}.window-dock-chip{color:#1c2a3a;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#eef3f8;border:1px solid #7a93ad;border-radius:4px 4px 0 0;max-width:160px;padding:4px 10px;font-size:11px;font-weight:600;overflow:hidden}.window-dock-chip:hover{background:#fff}.maximized-layout .region-fill,.layout-region.region-maximized{flex:auto;height:100%;min-height:0}.mm-slot-wrap{background:#fff;border:1px solid #c5d0db;border-radius:4px;flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.mm-slot-outer-chrome{border-bottom:1px solid #d5dde6}.mm-html-chrome{flex:none}.remedy-head-open{cursor:pointer}.remedy-head-open:hover{background:#2f6fed14;text-decoration:underline}.app-toast{z-index:4000;color:#f4f7fa;background:#1c2a3a;border:1px solid #9aadc2;border-radius:8px;max-width:min(360px,100vw - 24px);padding:10px 32px 10px 12px;position:fixed;bottom:52px;right:16px;box-shadow:0 8px 24px #00000040}.app-toast-message{margin:0;font-size:13px;line-height:1.35}.app-toast-check{color:#c5d0db;cursor:pointer;align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.app-toast-close{color:#c5d0db;cursor:pointer;background:0 0;border:none;border-radius:4px;width:22px;height:22px;font-size:16px;line-height:1;position:absolute;top:6px;right:6px}.app-toast-close:hover{color:#fff;background:#ffffff1a}.floating-window-body{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.floating-window-body .detail-screen,.floating-window-body .html-viewer{z-index:auto;flex:auto;height:100%;min-height:0;position:relative;inset:auto}.floating-window-resize{cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,#0000 50%,#7a93ad 50%);width:14px;height:14px;position:absolute;bottom:0;right:0}.layout-region{border:1px solid #0000;flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.layout-region.drop-target{background:#2f6fed0f;border-color:#2f6fed}.layout-region-chrome{cursor:grab;-webkit-user-select:none;user-select:none;background:#eef2f6;border-bottom:1px solid #d5dde6;flex:none;align-items:center;gap:6px;min-height:22px;padding:1px 6px;display:flex}.layout-region-chrome:active{cursor:grabbing}.layout-region-grip{color:#8a9aab;letter-spacing:-2px;font-size:11px}.layout-region-title{color:#3a4a5c;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;margin-right:4px;font-size:11px;font-weight:600;overflow:hidden}.layout-region-body{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.region-graph-wrap{flex-direction:column;height:100%;min-height:0;display:flex}.mm-pair{grid-template-columns:1fr 1fr;gap:4px;height:100%;min-height:0;display:grid}.mm-pair-1{grid-template-columns:1fr}.mm-pair-2{grid-template-columns:1fr 1fr}.mm-pair-3{grid-template-columns:1fr 1fr 1fr}.mm-pair-4{grid-template-rows:none;grid-template-columns:1fr 1fr 1fr 1fr}@media (width<=720px){.mm-pair-3,.mm-pair-4{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-auto-flow:column;overflow-x:auto}}.mm-slot-pane{background:#fff;border:1px solid #c5ced8;border-radius:6px;flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.mm-slot-pane .detail-screen,.mm-slot-pane .html-viewer{z-index:auto;flex:auto;height:100%;min-height:0;position:relative;inset:auto}.mm-slot-pane .html-frame{flex:auto;height:auto;min-height:0}.mm-slot-select{max-width:55%;font-size:11px}.thorsten-search-bar{gap:6px;padding:4px 6px!important}.dense-list .ios-row.dense,.ios-row.dense{padding:1px 8px;font-size:12px;line-height:1.15}.mm-list .ios-row{padding:3px 8px!important;font-size:12px!important}.ios-row.current{background:#cfe8ff!important}.ios-row.multi-selected{outline-offset:-1px;outline:1px solid #7eb6e8;background:#d6ebff!important}.ios-row.multi-selected.current{background:#cfe8ff!important}.search-hit-mark{color:inherit;background:#ffe566;padding:0}.search-list-pane:focus{outline:none}.search-list-pane.list-focused{box-shadow:inset 0 0 0 1px #2f6fed}.rubric-detail-pane{background:#fff;flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.rubric-detail-pane .detail-screen,.rubric-detail-pane .html-viewer{z-index:auto;flex:auto;height:100%;min-height:0;position:relative;inset:auto}.rubric-detail-pane .detail-body{flex:auto;min-height:0;overflow:auto}.rubric-detail-pane .detail-body.compact-detail{padding:8px 10px}.rubric-detail-pane .html-frame{flex:auto;height:auto;min-height:0}.full-search-with-rubric{flex-direction:column;min-height:0;display:flex}.full-search-body{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid}.full-search-list,.full-search-rubric{flex-direction:column;min-height:0;display:flex;overflow:hidden}.info-dino{border-radius:14px;margin:0;box-shadow:0 4px 14px #1428461f}.info-hero{align-items:center;gap:16px;margin-bottom:16px;display:flex}.info-hero h2{margin:0 0 4px}.info-meta{color:#6b7c8f;margin:0;font-size:13px}.info-links{flex-wrap:wrap;gap:10px 16px;margin-bottom:20px;display:flex}.info-links a{color:#1a5fc0;font-size:14px}.info-photos{gap:12px;margin-top:12px;display:flex}.info-photo-card{flex-direction:column;align-items:center;gap:6px;font-size:12px;display:flex}.info-photo-placeholder{color:#1a3a5c;background:#dbe7f5;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:24px;font-weight:700;display:flex}.form-textarea{width:100%;font:inherit;resize:vertical;border:1px solid #c5ced8;border-radius:6px;padding:8px}.form-hint{color:#678;margin:0 0 8px;font-size:12px}.patient-doc-form{max-height:calc(100vh - 80px);padding-bottom:24px;overflow:auto}.empty-screen.small{margin:1rem;font-size:13px}.ios-row.draggable{cursor:grab}.ios-row.clickable-mm{cursor:pointer}.ios-row.clickable-mm:hover{background:#eef5ff}button.med-chip{font:inherit;cursor:default;border:0;margin:0 2px 2px 0}button.med-chip.linked{cursor:pointer;text-decoration:underline}button.med-chip.linked:hover{filter:brightness(.95)}button.med-chip:disabled{opacity:.85;cursor:default}.ios-row.draggable:active{cursor:grabbing}.ios-row.not-draggable{cursor:default;opacity:.72}.graph-screen.drop-hover{outline-offset:-3px;background:#f3fbf6;outline:2px dashed #1f8a4c}.graph-drop-empty .drop-hint{color:#7a8a9a;margin-top:8px;font-size:12px}.empty,.empty-screen{text-align:center;color:var(--muted);margin:2rem 1rem;font-size:15px}.fab-stack{z-index:30;flex-direction:column;gap:12px;display:flex;position:absolute;bottom:12px;right:16px}.fab-row{z-index:30;pointer-events:none;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;bottom:12px;left:0;right:0}.fab-row .fab{pointer-events:auto}.fab{color:#fff;border:0;border-radius:999px;place-items:center;width:52px;height:52px;font-size:22px;font-weight:700;display:grid;box-shadow:0 4px 14px #00000038}.fab:disabled{opacity:.35;cursor:not-allowed}.fab-info{background:var(--fab-purple);font-family:Georgia,Times New Roman,serif;font-size:26px;font-style:italic;font-weight:700}.fab-add{background:var(--fab-green);font-size:32px;font-weight:400;line-height:1}.fab-remove-one,.fab-clear{background:var(--fab-red)}.fab-save{background:var(--fab-teal);font-size:20px}.fab-polar{background:#636366;font-size:20px}.fab-polar.on{background:var(--tab-blue)}.patient-bar{color:#3a3a3c;border-bottom:1px solid var(--line-soft);background:#f2f2f7;flex:none;padding:6px 12px;font-size:14px}.patient-row{text-align:left;color:#000;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:14px 16px;font-size:17px;display:flex}.patient-row.selected{background:#ffe6f0}.sel-dot{background:#fff;border:1.5px solid #c6c6c8;border-radius:50%;flex:none;width:18px;height:18px}.sel-dot.on{background:#ff2d77;border-color:#ff2d77}.patient-fabs{justify-content:flex-end}.fab-edit{background:#636366;font-size:20px}.form-screen{flex-direction:column;gap:16px;padding:16px;display:flex;overflow:auto}.form-label{color:#3a3a3c;flex-direction:column;gap:8px;font-size:14px;display:flex}.form-input{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 14px;font-size:17px}.form-error{color:#ff3b5c;font-size:14px}.primary-btn{background:var(--fab-green);color:#fff;border:0;border-radius:10px;padding:14px 16px;font-size:17px;font-weight:600}.save-patient-row{justify-content:space-between;align-items:center;gap:12px;padding:8px 0 4px;display:flex}.save-patient-name{color:#000;margin-top:4px;font-size:17px}.find-patient-btn{background:var(--tab-blue);color:#fff;border:0;border-radius:22px;flex:none;width:44px;height:44px;font-size:22px}.license-screen{padding-bottom:24px}.admin-license .license-row{align-items:flex-start;gap:8px}.admin-license .license-row .toolbar-btn{flex:none;padding:4px 10px;font-size:13px}.admin-license .more-link-sub{margin-top:2px;display:block}.admin-license .admin-password-hint{margin:-4px 0 12px;font-size:12px;line-height:1.35}.license-status{font-size:15px;font-weight:600}.license-status.ok{color:#0c700c}.license-status-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.license-status-dot.ok{background:#1a7f37}.license-status-dot.bad{background:#cf222e}.license-status.bad{color:#8e8e93}.license-progress{color:#3a3a3c;font-size:13px}.license-panel{background:#f2f2f7;border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.license-panel .muted{color:#8e8e93;margin:0;font-size:13px}.primary-btn.teal{background:var(--fab-teal)}.license-list-title{color:#8e8e93;text-transform:uppercase;letter-spacing:.04em;margin-top:8px;font-size:13px}.license-list{border:1px solid var(--line-soft);border-radius:10px;overflow:hidden}.license-row{border-bottom:.5px solid var(--line-soft);justify-content:space-between;gap:12px;padding:12px 14px;font-size:14px;display:flex}.license-row:last-child{border-bottom:0}.license-row-name{flex:1}.license-row-meta{color:#8e8e93;flex:none}.graph-scroll{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;margin:0;padding:0;overflow:auto}.graph-screen>.workspace-toolbar{gap:4px;padding:4px 6px}.graph-screen>.patient-bar{padding:2px 6px;font-size:12px}.ios-graph{border-collapse:separate;border-spacing:0;width:max-content;min-width:0;max-width:none;margin:0;font-size:10px}.ios-graph th,.ios-graph td{border-right:.5px solid var(--line);border-bottom:.5px solid var(--line);text-align:center;white-space:nowrap;background:#fff;padding:1px 2px;font-weight:600;line-height:1.15}.ios-graph thead th:not(.sticky-col),.ios-graph tbody td{width:1%;min-width:1.35em;padding:1px 2px}.ios-graph thead th{z-index:2;background:#f2f2f7;position:sticky}.ios-graph thead tr:first-child th{top:0}.ios-graph thead tr:nth-child(2) th{top:16px}.ios-graph thead tr:nth-child(3) th{top:32px}.ios-graph thead tr:nth-child(4) th{top:48px}.ios-graph thead tr:nth-child(5) th{top:64px}.ios-graph thead tr:nth-child(6) th{top:80px}.ios-graph .sticky-col{z-index:3;text-align:left;white-space:normal;overflow-wrap:anywhere;background:#f2f2f7;width:1%;min-width:7.5rem;max-width:16rem;padding:1px 4px;font-weight:500;line-height:1.2;position:sticky;left:0}.ios-graph tbody .sticky-col.rubric-cell{vertical-align:top;max-width:16rem;padding:1px 4px}.ios-graph tbody .sticky-col{z-index:1;background:#fff}.ios-graph .remedy-head{color:#1f7a4d;font-weight:700}.ios-graph tbody tr.selected th,.ios-graph tbody tr.selected td{background:var(--yellow)!important}.ios-graph tbody tr.selectable{cursor:pointer}.ios-graph tbody tr.locked{cursor:default}.ios-graph tbody tr.polar-row th,.ios-graph tbody tr.polar-row td{color:#636366;font-style:italic}.ios-graph tbody tr.data-row{content-visibility:auto;contain-intrinsic-size:auto 28px}.app-shell.compact{font-size:12px}.app-shell.compact .ios-row,.app-shell.compact .more-link,.app-shell.compact .option-row,.app-shell.compact .patient-row{padding-top:6px;padding-bottom:6px;font-size:13px}.app-shell.compact .ios-graph{font-size:9px}.app-shell.compact .ios-graph th,.app-shell.compact .ios-graph td{padding:0 1px;line-height:1.1}.app-shell.compact .ios-graph .sticky-col{min-width:6.5rem;max-width:14rem;padding:0 3px;font-size:9px;line-height:1.1}.app-shell.compact .ios-graph thead tr:nth-child(2) th{top:13px}.app-shell.compact .ios-graph thead tr:nth-child(3) th{top:26px}.app-shell.compact .ios-graph thead tr:nth-child(4) th{top:39px}.app-shell.compact .ios-graph thead tr:nth-child(5) th{top:52px}.app-shell.compact .ios-graph thead tr:nth-child(6) th{top:65px}.app-shell.compact .nav-title{font-size:14px}.app-shell.compact .patient-bar{padding:2px 6px;font-size:11px}.app-shell.compact .workspace-toolbar{gap:3px;padding:3px 5px}.app-shell.compact .toolbar-btn{padding:3px 7px;font-size:11px}.virtual-list{margin:0;padding:0;list-style:none}.virtual-list .ios-row{box-sizing:border-box;border-bottom:.5px solid var(--line-soft);align-items:center;display:flex}.mm-list .ios-row{white-space:nowrap;gap:6px;padding:8px 12px;font-size:13px;display:flex}.mm-rank{min-width:1.5rem;font-weight:700}.mm-score{font-variant-numeric:tabular-nums}.mm-sep{color:var(--muted)}.mm-abbr{color:#1f7a4d;font-weight:700}.more-menu-list{flex-direction:column;padding:8px 0;display:flex;overflow:auto}.more-link{text-align:left;color:#000;background:0 0;border:0;flex-direction:column;gap:2px;width:100%;padding:14px 28px;font-size:17px;display:flex}.more-link-sub{color:#8e8e93;font-size:13px;font-weight:400}.more-link.selected{background:var(--yellow)}.options-list{flex-direction:column;gap:0;display:flex;overflow:auto}.option-row{border-bottom:.5px solid var(--line-soft);justify-content:space-between;align-items:center;gap:1rem;padding:14px 16px;font-size:16px;display:flex}.info-block{padding:1.25rem 1.5rem}.info-block h2{margin-top:0;font-size:18px}.detail-screen{z-index:2;background:#fff;flex-direction:column;display:flex;position:absolute;inset:0}.detail-body{flex:1;padding:12px 16px 80px;overflow:auto}.detail-parent{color:#8e8e93;margin-bottom:2px;font-family:Helvetica,Arial,sans-serif;font-size:15px;font-style:italic;font-weight:600}.detail-title-row{flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:8px;margin-bottom:16px;display:flex}.detail-title{margin:0;font-size:17px;font-weight:700}.detail-count{color:#8e8e93;white-space:nowrap;font-size:15px}.detail-meds{flex-wrap:wrap;gap:4px 8px;margin-bottom:24px;display:flex}.detail-med{color:#007aff;cursor:default;background:0 0;border:0;margin:0 6px 4px 0;padding:0;font-family:Helvetica,Arial,sans-serif;font-size:17px;line-height:1.45;text-decoration:none}.detail-med.grade-1{color:#8e8e93}.detail-med:disabled{cursor:default;opacity:1;text-decoration:none}.detail-med.linked{cursor:pointer;text-decoration:underline}.detail-med.static{cursor:default;pointer-events:none;margin:0;text-decoration:none}.html-viewer{flex-direction:column;display:flex}.html-viewer-title{text-overflow:ellipsis;white-space:nowrap;max-width:60%;font-size:15px;font-weight:600;overflow:hidden}.html-frame{background:#fff;border:0;flex:auto;width:100%;min-height:0}.status-error.visible{color:#b42318;padding:8px 12px;font-size:14px;display:block}.detail-display{margin-top:8px;font-family:Helvetica,Arial,sans-serif;font-size:17px;line-height:1.55}.detail-display-label{color:#8e8e93}.detail-med.grade-1,.grade-1,.detail-med.grade-2,.grade-2,.detail-med.grade-3,.grade-3{font-weight:400}.detail-med.grade-4,.grade-4,.detail-med.grade-5,.grade-5{font-weight:700}.detail-med.grade-6,.grade-6{font-style:italic;font-weight:700}@media (width>=900px){.app-shell{border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft);max-width:980px;margin:0 auto}.ios-row{padding:6px 16px;font-size:13px}}.desktop-shell{color:var(--ink);background:#e8ecf1;grid-template-columns:220px 1fr;display:grid;position:fixed;inset:0}.desktop-shell.menu-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.desktop-shell.sidebar-collapsed{grid-template-columns:56px 1fr}.desktop-shell.compact{font-size:11px}.desktop-shell.compact .ios-row,.desktop-shell.compact .ios-row.dense{padding:1px 6px;font-size:10px;line-height:1.1;height:18px!important}.desktop-shell.compact .detail-title{font-size:14px}.desktop-shell.compact .split-pane-chrome.thin,.desktop-shell.compact .split-band-toolbar.thin{gap:4px;min-height:18px;padding:0 4px}.desktop-shell.compact .split-search-band,.desktop-shell.compact .split-graph-band{padding:2px}.desktop-shell.compact .split-pane-frame{border-radius:4px}.desktop-shell.compact .ios-graph{font-size:9px}.desktop-shell.compact .ios-graph th,.desktop-shell.compact .ios-graph td{padding:0 1px;line-height:1.08}.desktop-shell.compact .ios-graph thead th:not(.sticky-col),.desktop-shell.compact .ios-graph tbody td{min-width:1.15em;padding:0 1px}.desktop-shell.compact .ios-graph .sticky-col,.desktop-shell.compact .ios-graph tbody .sticky-col.rubric-cell{min-width:6rem;max-width:13rem;padding:0 2px;font-size:9px;line-height:1.08}.desktop-shell.compact .ios-graph thead tr:nth-child(2) th{top:12px}.desktop-shell.compact .ios-graph thead tr:nth-child(3) th{top:24px}.desktop-shell.compact .ios-graph thead tr:nth-child(4) th{top:36px}.desktop-shell.compact .ios-graph thead tr:nth-child(5) th{top:48px}.desktop-shell.compact .ios-graph thead tr:nth-child(6) th{top:60px}.desktop-shell.compact .ios-graph tbody tr.data-row{contain-intrinsic-size:auto 16px}.desktop-shell.compact .patient-bar{padding:1px 4px;font-size:10px}.desktop-shell.compact .workspace-toolbar{gap:3px;padding:2px 4px}.desktop-shell.compact .toolbar-btn{border-radius:4px;padding:2px 6px;font-size:10px}.desktop-shell.compact .main-menu-bar{gap:6px;min-height:26px;padding:1px 6px}.desktop-shell.compact .search-toolbar{gap:4px;padding:3px 6px}.desktop-shell.compact .ios-search{padding:3px 6px}.main-menu-bar{z-index:20;background:linear-gradient(#fbfcfe 0%,#f0f3f7 100%);border-bottom:1px solid #c5ced8;align-items:center;gap:10px;min-height:32px;padding:2px 8px;display:flex}.license-badge{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:2px;margin-left:4px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.license-badge.bad{color:#a40e26;background:#ffebe9;border-color:#ffcecb}.license-badge.ok{color:#0a7a2f;background:#e6f6eb;border-color:#b7e4c7}.menu-section-label{letter-spacing:.04em;text-transform:uppercase;color:#8a9aab;padding:4px 10px 2px;font-size:10px;font-weight:700}.menu-trigger.open{background:#e4ebf3}.main-menu-brand{cursor:pointer;color:#1a3a5c;align-items:center;gap:8px;font-weight:700;display:inline-flex}.dino-logo{border-radius:6px;display:block}.main-menu-nav{gap:4px;display:flex}.menu-item{position:relative}.menu-trigger{cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px;font-size:13px}.menu-trigger:hover{background:#e4ebf3}.menu-dropdown{z-index:50;background:#fff;border:1px solid #c5ced8;border-radius:8px;flex-direction:column;gap:2px;min-width:220px;padding:6px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #0000001f}.menu-dropdown button,.menu-dropdown .menu-check{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 10px;font-size:13px}.menu-dropdown button:hover,.menu-dropdown .menu-check:hover{background:#eef3f9}.menu-dropdown button.on{background:#e8f0ff;font-weight:600}.menu-dropdown hr{border:0;border-top:1px solid #e0e6ec;margin:4px 0}.menu-check{align-items:center;gap:8px;display:flex}.app-overlay{z-index:40;background:#141e2859;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0}.app-overlay-panel{background:#fff;flex-direction:column;width:min(520px,100%);min-height:0;display:flex;box-shadow:-8px 0 24px #00000026}.app-overlay-panel .screen{flex:1;min-height:0;overflow:auto}.app-overlay-head,.app-overlay-foot{border-bottom:1px solid #e0e6ec;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.app-overlay-foot{border-top:1px solid #e0e6ec;border-bottom:0}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.sidebar{background:linear-gradient(#f4f6f9 0%,#e9eef4 100%);border-right:1px solid #c5ced8;flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.sidebar-brand{letter-spacing:.02em;color:#1a3a5c;padding:14px 16px 10px;font-size:18px;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:4px 8px 48px;display:flex;overflow:auto}.sidebar-section-label{text-transform:uppercase;letter-spacing:.06em;color:#6b7c8f;margin:12px 8px 4px;font-size:11px}.sidebar-link{text-align:left;color:#1c2a3a;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 10px;font-size:14px;display:flex}.sidebar-link:hover{background:#ffffffb3}.sidebar-ico{text-align:center;opacity:.9;flex:none;width:18px}.sidebar-ico.search{color:#e6b800}.sidebar-ico.graph{color:#1f8a4c}.sidebar-collapse{color:#4a5a6a;z-index:5;background:#f4f6f9;border:1px solid #c5ced8;border-radius:0 8px 8px 0;width:24px;height:48px;padding:0;position:absolute;top:50%;right:-12px;transform:translateY(-50%)}.desktop-shell.sidebar-collapsed .sidebar-brand,.desktop-shell.sidebar-collapsed .sidebar-section-label,.desktop-shell.sidebar-collapsed .sidebar-link span:not(.sidebar-ico){display:none}.desktop-main{background:#fff;flex-direction:column;min-width:0;min-height:0;display:flex}.workspace-tabs{background:linear-gradient(#dce3eb 0%,#cfd8e3 100%);border-bottom:1px solid #aeb9c6;flex:none;gap:2px;padding:6px 8px 0;display:flex;overflow-x:auto}.workspace-tab{background:#e8eef5;border:1px solid #b7c2cf;border-bottom:0;border-radius:8px 8px 0 0;align-items:center;max-width:220px;padding:0 4px 0 0;display:flex}.workspace-tab.active{background:#fff;border-color:#8fa0b3;box-shadow:inset 0 -1px #fff}.workspace-tab-label{white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;gap:8px;max-width:180px;padding:8px 10px;font-size:13px;display:flex;overflow:hidden}.workspace-tab-close{color:#678;background:0 0;border:0;border-radius:4px;flex:none;width:22px;height:22px;font-size:16px;line-height:1}.workspace-tab-close:hover{background:#dde4ec}.tab-kind-dot{background:#89a;border-radius:50%;flex:none;width:8px;height:8px}.tab-kind-dot.search{background:#e6b800}.tab-kind-dot.graph{background:#1f8a4c}.tab-kind-dot.mm{background:#2f6fed}.tab-kind-dot.home{background:#6b7c8f}.workspace-stage{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.desktop-panel{height:100%}.workspace-toolbar{background:linear-gradient(#f7f9fc 0%,#eef2f7 100%);border-bottom:1px solid #d5dde6;flex-wrap:wrap;flex:none;align-items:center;gap:8px;padding:10px 12px;display:flex}.toolbar-btn{color:#1c2a3a;background:linear-gradient(#fff 0%,#e8eef5 100%);border:1px solid #b7c2cf;border-radius:6px;padding:7px 12px;font-size:13px}.toolbar-btn:hover{background:#fff}.toolbar-btn.primary{color:#fff;background:linear-gradient(#3d8bfd 0%,#1f6fe0 100%);border-color:#1a5fc0}.toolbar-btn.danger{color:#b00020}.toolbar-btn.on{background:#d6e8ff;border-color:#007aff}.toolbar-btn:disabled{opacity:.4}.toolbar-title{margin-right:auto;font-weight:600}.desktop-search-bar{flex-wrap:wrap;flex:none;align-items:center;gap:8px;padding:10px 12px;display:flex}.desktop-search-bar .grow{flex:220px;min-width:160px}.rep-picker{flex:260px;min-width:200px;max-width:420px;position:relative}.rep-picker-btn{text-align:left;background:#fff;border:1px solid #b7c2cf;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;display:flex}.rep-picker-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rep-picker-menu{z-index:30;background:#fff;border:1px solid #8fa0b3;border-radius:8px;max-height:360px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 12px 28px #1428462e}.rep-picker-item{text-align:left;background:0 0;border:0;width:100%;padding:9px 12px;font-size:13px;display:block}.rep-picker-item:hover{background:#eef4fb}.rep-picker-item.selected{color:#fff;background:#2f6fed}.home-screen{background:radial-gradient(circle at 10% 0,#d8e7ff 0%,#0000 45%),radial-gradient(circle at 90% 10%,#e6f5ea 0%,#0000 40%),#f7f9fc;padding:28px 32px;overflow:auto}.home-brand{letter-spacing:-.03em;color:#12304f;margin:0;font-size:42px;font-weight:750}.home-lead{color:#4a5d73;max-width:520px;margin:8px 0 28px;font-size:16px;line-height:1.45}.home-actions{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;max-width:900px;display:grid}.home-card{text-align:left;background:#ffffffe6;border:1px solid #c5d0dc;border-radius:14px;flex-direction:column;gap:6px;min-height:110px;padding:18px 16px;display:flex}.home-card:hover{border-color:#7aa2d6;box-shadow:0 10px 24px #1e3c641a}.home-card-title{font-size:17px;font-weight:700}.home-card-sub{color:#5a6d82;font-size:13px}.home-card.search .home-card-title{color:#9a7b00}.home-card.graph .home-card-title{color:#1f8a4c}.home-card.mm .home-card-title{color:#2f6fed}.main-stage{padding-bottom:0}@media (width<=1100px){.main-menu-bar{flex-wrap:wrap;row-gap:4px}.main-menu-nav{flex-wrap:wrap}.split-band-hint{display:none}}@media (width<=800px){.desktop-shell{grid-template-columns:1fr}.sidebar{display:none}.main-menu-bar{min-height:0;padding:4px 6px}.license-badge{margin-left:0}.split-search-band,.split-graph-band{min-width:0;padding:4px}.split-top-row,.split-lower,.split-pane-frame{min-width:0}.workspace-toolbar{gap:6px;padding:6px 8px}.toolbar-btn{padding:6px 10px}.ios-graph .sticky-col,.ios-graph tbody .sticky-col.rubric-cell{min-width:6.5rem;max-width:min(42vw,14rem)}.form-screen,.license-screen,.detail-screen{padding-left:10px;padding-right:10px}.page,.main-stage,.workspace-stage{min-width:0;max-width:100%}}@media (width<=560px){.main-menu-brand .brand-text{font-size:13px}.menu-trigger{padding:5px 7px;font-size:12px}.menu-dropdown{min-width:min(220px,100vw - 16px);left:0;right:auto}.workspace-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.ios-graph{font-size:9px}.empty-screen{margin:1rem .75rem}.desktop-shell,.workspace-stage,.split-workspace{overflow-x:hidden}.graph-scroll{overflow:auto}}.split-workspace{background:#eef2f6;flex-direction:column;height:100%;min-height:0;display:flex}.split-band-toolbar{background:#f7f9fc;border-bottom:1px solid #d5dde6;flex:none;align-items:center;gap:8px;padding:6px 10px;display:flex}.split-band-label{text-transform:uppercase;letter-spacing:.04em;color:#6b7c8f;font-size:11px;font-weight:600}.split-band-hint{color:#8e8e93;margin-left:auto;font-size:12px}.split-search-band,.split-graph-band{gap:0;min-width:0;min-height:0;padding:6px 8px;display:flex}.resize-splitter{z-index:4;touch-action:none;background:0 0;flex:0 0 6px;position:relative}.resize-splitter:after{content:"";opacity:.55;background:#c5ced8;border-radius:2px;position:absolute;inset:0}.resize-splitter:hover:after,.resize-splitter:active:after{opacity:1;background:#2f6fed}.resize-splitter.row{cursor:col-resize;align-self:stretch;margin:0 2px}.resize-splitter.column,.band-splitter{cursor:row-resize;flex:0 0 6px;height:6px;margin:2px 8px}.split-pane-frame{background:#fff;border:1px solid #c5ced8;border-radius:8px;flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.split-pane-frame.active{outline-offset:-1px;outline:2px solid #2f6fed}.split-pane-frame.add-target{outline-color:#1f8a4c}.split-pane-frame.add-target .split-pane-chrome{background:#e8f6ee;border-bottom-color:#b7dfc6}.split-pane-badge{letter-spacing:.02em;text-transform:uppercase;color:#1f8a4c;background:#d4efdf;border-radius:999px;flex:none;padding:2px 8px;font-size:10px;font-weight:700}.split-pane-set-active{color:#3a4a5c;cursor:pointer;background:#fff;border:1px solid #c5ced8;border-radius:999px;flex:none;padding:2px 8px;font-size:11px;font-weight:600}.split-pane-set-active:hover{color:#1f8a4c;background:#eef8f2;border-color:#1f8a4c}.active-graph-pill{color:#1f8a4c;background:#e8f6ee;border:1px solid #b7dfc6;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.split-pane-chrome{background:#f2f5f9;border-bottom:1px solid #e0e6ec;flex:none;align-items:center;gap:8px;padding:4px 8px;display:flex}.split-pane-title{color:#3a4a5c;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.split-pane-action,.split-pane-close{color:#678;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;width:22px;height:22px;font-size:14px;line-height:1}.split-pane-close{font-size:16px}.split-pane-action:hover,.split-pane-close:hover{background:#dde4ec}.embedded-search,.embedded-graph{border:0;flex:auto;min-height:0}.embedded-search .workspace-toolbar,.embedded-graph .workspace-toolbar{padding:6px 8px}.embedded-search,.full-search-with-rubric{position:relative}.embedded-search .fab-stack,.full-search-with-rubric .fab-stack{bottom:12px;right:12px}.embedded-search .list-scroll{position:relative}.login-screen{background:radial-gradient(at 20% 10%,#dfeaf5 0%,#0000 55%),linear-gradient(160deg,#f4f7fb 0%,#e7eef6 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #d5dde6;border-radius:10px;flex-direction:column;gap:12px;width:min(360px,100%);padding:28px 24px 24px;display:flex;box-shadow:0 10px 30px #1e325014}.login-logo{align-self:center}.login-title{text-align:center;letter-spacing:.02em;margin:0;font-size:1.6rem;font-weight:700}.login-sub{text-align:center;color:#5b6b7c;margin:0 0 8px;font-size:.92rem}.login-label{color:#3a4a5a;flex-direction:column;gap:4px;font-size:.85rem;display:flex}.login-label input{font:inherit;border:1px solid #c5d0db;border-radius:6px;padding:8px 10px}.login-error{color:#b42318;margin:0;font-size:.85rem}.banner-error{color:#b42318;background:#fdecea;border-bottom:1px solid #f5c2c0;padding:8px 14px;font-size:.9rem}
