.control{margin:0 0 var(--space-lg)}.control label{justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm);color:var(--text);align-items:center;font-size:14px;font-weight:600;display:flex}.control input[type=range]{background:var(--line);appearance:none;cursor:pointer;border-radius:4px;outline:none;width:100%;height:8px;transition:background .15s ease-out}.control input[type=range]:hover{background:var(--accent-light)}.control input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:20px;height:20px;transition:all .15s ease-out;box-shadow:0 2px 8px #0000001a}.control input[type=range]::-webkit-slider-thumb:hover{width:24px;height:24px;box-shadow:0 4px 12px #7c3aed4d}.control input[type=range]::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:20px;height:20px;transition:all .15s ease-out;box-shadow:0 2px 8px #0000001a}.control input[type=range]::-moz-range-thumb:hover{width:24px;height:24px;box-shadow:0 4px 12px #7c3aed4d}.control small{color:var(--text-muted);margin-top:var(--space-sm);font-size:12px;line-height:1.4;display:block}.value{font-variant-numeric:tabular-nums;color:var(--accent);font-size:16px;font-weight:700}.control:last-of-type{margin-bottom:var(--space-lg)}.quick-stats{gap:var(--space-sm);margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;grid-template-columns:1fr;display:grid}.stat{justify-content:space-between;align-items:center;font-size:12px;line-height:1.4;display:flex}.stat-label{color:var(--text-muted);font-weight:500}.stat-value{color:var(--accent);font-weight:600}.panel>button{width:100%;padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);border:1px solid var(--border);min-height:44px;color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:8px;font-size:14px;font-weight:600;transition:all .15s ease-out;position:relative}.panel>button:hover{background:var(--bg-tertiary);border-color:var(--border-hover);color:var(--text);box-shadow:0 2px 8px #0000000f}.panel>button:active{background:var(--border);transform:scale(.99)}.metrics{gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--border);grid-template-columns:1fr;display:grid}.metric{padding:var(--space-md);text-align:center;color:#fff;border:none;border-radius:12px}.metric .k{color:#ffffffe6;font-size:11px;font-weight:500;line-height:1.4}.metric .v{color:#fff;margin-top:6px;font-size:24px;font-weight:700;line-height:1.3}.metric:first-child{background:var(--high)}.metric:nth-child(2){background:var(--med)}.metric:nth-child(3){background:var(--low)}.legend{gap:var(--space-md);color:var(--text-muted);margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border);font-size:12px;display:flex}.dot{border-radius:999px;flex-shrink:0;width:10px;height:10px;margin-right:5px;display:inline-block}svg.sankey-svg{border:1px solid var(--line);cursor:default;background:#fff;border-radius:18px;width:100%;height:525px}.node{stroke:#fff;stroke-width:1.5px;cursor:pointer;transition:opacity .2s,filter .2s,stroke-width .2s}.node:hover{filter:brightness(1.15);stroke-width:2.5px}.node-selected{stroke:#fff;stroke-width:3px;filter:brightness(.95)}.node-label{fill:#fff;pointer-events:none;font-size:13px;font-weight:700;line-height:1.4}.node-sub{fill:#fff;opacity:.95;pointer-events:none;font-size:11px;line-height:1.4}.col-title{letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600;line-height:1.4}.flow{fill:none;stroke-linecap:round;opacity:.42;cursor:pointer;transition:opacity .2s,filter .2s}.flow:hover{opacity:.78;filter:drop-shadow(0 0 2px #7c3aed4d)}.profile{border:2px solid var(--line);padding:var(--space-md);cursor:pointer;background:#fff;border-radius:18px;transition:all .15s ease-out}.profile:hover{border-color:var(--border-hover);box-shadow:0 4px 12px #00000014}.profile.selected{border-color:var(--med);background:linear-gradient(135deg,#3b82f605 0%,#7c3aed05 100%);box-shadow:0 0 0 3px #3b82f626}.profile:focus{outline:2px solid var(--accent);outline-offset:2px}.person-top{justify-content:space-between;gap:var(--space-sm);align-items:start;display:flex}.person-name{font-size:16px;font-weight:850}.person-role{color:var(--muted);margin-top:2px;font-size:12px}.bars{margin-top:var(--space-sm);gap:var(--space-sm);display:grid}.barrow{gap:var(--space-sm);grid-template-columns:88px 1fr 34px;align-items:center;font-size:12px;display:grid}.barname{color:var(--muted)}.track{background:#eef2f7;border-radius:999px;height:8px;overflow:hidden}.fill{border-radius:999px;height:100%}.score{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.profile-metrics{gap:var(--space-sm);margin-top:var(--space-sm);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=1050px){.profile-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.profile-grid{grid-template-columns:1fr}}.day-title{justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm);align-items:start;display:flex}.impact{gap:var(--space-sm);margin-top:var(--space-sm);grid-template-columns:repeat(2,1fr);display:grid}.summary-card{border:1px solid var(--line);padding:var(--space-md);background:#fff;border-radius:18px}.mini{border:1px solid var(--line);padding:var(--space-sm);background:#fff;border-radius:14px}.mini .k{color:var(--muted);font-size:12px}.mini .v{margin-top:2px;font-size:17px;font-weight:600}.callout{margin-top:var(--space-sm);padding:var(--space-sm);border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:14px;font-size:13px;line-height:1.45}.log{border:1px solid var(--line);padding:var(--space-md);background:#fff;border-radius:18px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:0 8px 9px;font-size:11px}td{border-top:1px solid var(--line);vertical-align:top;padding:10px 8px;line-height:1.35}.time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.tag{padding:6px var(--space-sm);color:#fff;white-space:nowrap;border-radius:6px;font-size:13px;font-weight:500;display:inline-block}.pill{padding:var(--space-xs) var(--space-sm);color:#fff;white-space:nowrap;border-radius:999px;font-size:11px;font-weight:850}@media (width<=1050px){.impact{grid-template-columns:repeat(2,1fr)}}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 25px #00000026}.modal-header{padding:var(--space-lg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-header h2{color:var(--text);margin:0;font-size:20px;font-weight:600}.close-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;display:flex}.close-button:hover{color:var(--text)}.modal-body{padding:var(--space-lg);gap:var(--space-lg);flex-direction:column;display:flex}.outcome-definition{padding:var(--space-md);border:1px solid var(--border);background:var(--bg-secondary);border-radius:6px}.outcome-title{margin:0 0 var(--space-sm) 0;text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:600}.outcome-title.high{color:#10b981}.outcome-title.medium{color:#f59e0b}.outcome-title.low{color:#ef4444}.outcome-definition p{margin:0 0 var(--space-sm) 0;color:var(--text);font-size:13px;line-height:1.5}.outcome-definition ul{color:var(--text-muted);margin:0;padding-left:20px;font-size:12px;line-height:1.6}.outcome-definition li{margin-bottom:var(--space-xs)}.outcome-note{padding:var(--space-sm);background:var(--info-bg);border:1px solid var(--info-border);color:var(--text);border-radius:6px;font-size:12px;line-height:1.6}.modal-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border);justify-content:flex-end;display:flex}.button-primary{padding:var(--space-sm) var(--space-lg);background:var(--med);color:#fff;cursor:pointer;border:none;border-radius:6px;font-size:14px;font-weight:500;transition:all .15s ease-out}.button-primary:hover{background:#1d4ed8}.button-primary:active{background:#1e40af}.wrap{max-width:1340px;padding:var(--space-lg);margin:0 auto}.header{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-lg);display:flex}.header h1{margin-top:0}.header-buttons{gap:var(--space-sm);flex-shrink:0;display:flex}.help-button{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-dark);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;align-items:center;min-height:44px;font-size:12px;font-weight:500;line-height:1.4;transition:all .15s ease-out;display:flex}.help-button:hover{background:var(--bg-secondary);border-color:var(--border-hover);color:var(--text-secondary)}.subtitle{color:var(--text-muted);max-width:980px;margin-bottom:0;font-size:14px;line-height:1.6}@media (width<=768px){.header{flex-direction:column;align-items:flex-start}.header-buttons{width:100%}.help-button{text-align:center;flex:1}}.grid{gap:var(--space-lg);grid-template-columns:25% 1fr;align-items:start;display:grid}.sidebar{flex-direction:column;display:flex}.main-content{gap:var(--space-lg);flex-direction:column;display:flex}.panel{background:var(--panel);border:1px solid var(--line);padding:var(--space-md);border-radius:18px}.profiles{margin-top:0}.profile-grid{grid-template-columns:repeat(4,minmax(190px,1fr));gap:14px;display:grid}.workday-section{background:var(--panel);border:1px solid var(--line);border-radius:18px;width:100%;margin-top:0;padding:18px}.logs{margin-top:var(--space-lg);gap:var(--space-md);grid-template-columns:330px 1fr;display:grid}.note{color:var(--text-muted);margin-top:var(--space-sm);font-size:13px;line-height:1.4;display:block}@media (width<=1050px){.grid,.logs{grid-template-columns:1fr}.profile-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.wrap{padding:var(--space-md)}.header{flex-direction:column;align-items:stretch}.header-buttons{width:100%}.help-button{flex:1}.profile-grid{gap:var(--space-sm);grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.wrap{padding:var(--space-md)}.profile-grid{grid-template-columns:1fr}.header h1{font-size:24px}.subtitle{font-size:13px}}:root{--low:#f59e0b;--med:#3b82f6;--high:#10b981;--text:#111827;--text-secondary:#374151;--text-muted:#6b7280;--muted:#6b7280;--bg:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--panel:#f8fafc;--border:#e5e7eb;--line:#e5e7eb;--border-hover:#9ca3af;--border-dark:#d1d5db;--accent:#7c3aed;--accent-light:#c4b5fd;--accent-darker:#6d28d9;--info-bg:#f0f9ff;--info-border:#bfdbfe;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:40px;--gap-xs:var(--space-xs);--gap-sm:var(--space-sm);--gap-md:var(--space-md);--gap-lg:var(--space-lg)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}.text-xs{font-size:11px;line-height:1.4}.text-sm{font-size:12px;line-height:1.4}.text-base{font-size:13px;line-height:1.5}.text-lg{font-size:14px;line-height:1.5}.text-xl{font-size:16px;line-height:1.5}.text-2xl{font-size:20px;line-height:1.4}.text-3xl{font-size:24px;line-height:1.3}.text-4xl{font-size:32px;line-height:1.3}.font-regular{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}html,body,#root{width:100%;height:100%}h1{color:var(--text);letter-spacing:-.5px;margin:0 0 16px;font-size:32px;font-weight:700;line-height:1.3}h2{color:var(--text);margin:0 0 12px;font-size:20px;font-weight:600;line-height:1.4}h3{color:var(--text);margin:0 0 8px;font-size:16px;font-weight:600;line-height:1.4}p{margin:0;line-height:1.5}small{color:var(--text-muted);font-size:12px;line-height:1.4}button{border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);background:#fff;border-radius:10px;margin:0 6px 8px 0;padding:9px 11px;font-size:14px;font-weight:600;transition:all .15s ease-out}button:hover{background:var(--bg-secondary);border-color:var(--border-hover);color:var(--text)}input[type=range]{cursor:pointer;width:100%}
