:root{color-scheme:light;font-family:IBM Plex Sans,Segoe UI,sans-serif;background:#eaf4ff;color:#0f2a57;--control-height: 2.35rem;--control-label-height: 1.1rem}*{box-sizing:border-box}html,body,#root{min-height:100vh}html,body{background:#e9f4ff}body{margin:0;padding:0;min-height:100vh;color:#0f2a57;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:#e9f4ff}#root{min-height:100vh;background:transparent;isolation:isolate}h1,h2{margin:0 0 .5rem}h1{font-size:2rem}h2{font-size:1.25rem}button,input,select{font:inherit}input,select{padding:.5rem .6rem;border:1px solid #a9c4e8;border-radius:6px;background:#f7fbff;color:#0f2a57;min-height:var(--control-height);height:var(--control-height);line-height:1.2}button{padding:.6rem 1rem;border:1px solid #b8cee9;border-radius:6px;background:#dbe9fb;color:#123566;cursor:pointer;font-weight:600;transition:background-color .15s ease,color .15s ease,border-color .15s ease;min-height:var(--control-height);height:var(--control-height);line-height:1.2;display:inline-flex;align-items:center;justify-content:center}button:hover:not(:disabled){background:#cfe1f8;border-color:#9ebee3}button:disabled{opacity:.6;cursor:not-allowed}button.link{background:transparent;color:#0f2a57;padding:0;border:none;text-decoration:underline;cursor:pointer}label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.label-with-help,.heading-with-help{display:inline-flex;align-items:center;gap:.35rem}.help-tooltip{position:relative;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;outline:none}.help-tooltip-trigger{width:1rem;height:1rem;border-radius:999px;background:#d7e8fb;border:1px solid #9fbfe4;color:#1c4478;font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:help;line-height:1}.help-tooltip-bubble{position:absolute;left:50%;bottom:calc(100% + .45rem);transform:translate(-50%);min-width:220px;max-width:320px;padding:.55rem .7rem;border-radius:10px;background:#0f2a57f5;color:#f8fbff;font-size:.8rem;line-height:1.35;box-shadow:0 10px 22px #0f2a5738;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:20}.help-tooltip:hover .help-tooltip-bubble,.help-tooltip:focus .help-tooltip-bubble,.help-tooltip:focus-within .help-tooltip-bubble{opacity:1}.control-label-spacer{visibility:hidden;display:block;min-height:var(--control-label-height)}.card{background:#f8fbff;border-radius:16px;padding:1.5rem;box-shadow:0 10px 40px #163b7524;margin-bottom:1.5rem;color:#0f2a57}.auth-card{max-width:420px;margin:8vh auto}.auth-card form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.dashboard{max-width:min(1780px,98vw);margin:0 auto;padding:2rem 1rem 4rem;min-height:100vh;background:transparent}.topbar{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2rem;background:linear-gradient(135deg,#f8fcff,#edf5ff);border:1px solid #cdddf3;border-radius:14px;padding:1rem 1.1rem;box-shadow:0 6px 20px #12397214}.actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.actions>label,.admin-form>label,.month-picker{justify-content:flex-end}.monthly-actions{flex-wrap:nowrap;align-items:flex-end}.monthly-actions>label{min-width:220px;display:flex;flex-direction:column;justify-content:flex-end}.monthly-actions>button{white-space:nowrap}.trend-actions>label{min-width:185px}.month-picker{min-width:180px}.month-picker-controls{display:flex;gap:.4rem}.month-picker-controls select{min-width:84px}.month-carousel{display:flex;align-items:stretch;gap:.45rem}.month-carousel>button{min-width:2.1rem;padding:0;height:var(--control-height);align-self:flex-end}.tab{background:#dbe9fb;border:1px solid #b8cee9;color:#123566;font-weight:600;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.tab:hover{background:#cfe1f8;border-color:#9ebee3}.tab.active{background:#153d73;border-color:#153d73;color:#eaf4ff}.topnav{background:#f5f9ff;border:1px solid #d4e2f5;border-radius:12px;padding:.45rem;gap:.5rem}.topnav .tab{min-height:2.3rem;border-radius:8px;padding:.48rem .85rem}.tab-logout{background:#f7eef1;border-color:#e7c6d1;color:#6c243b}.tab-logout:hover{background:#f2e2e8;border-color:#daa9ba}.admin-form{display:flex;gap:1rem;flex-wrap:nowrap;align-items:flex-end}.admin-form>label{min-width:240px;display:flex;flex-direction:column;justify-content:flex-end}.admin-form>button{white-space:nowrap}.user-actions-cell{vertical-align:middle;white-space:nowrap;width:430px}.user-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:.4rem;width:100%}.user-actions>button,.user-action-placeholder{min-width:0;width:100%}.user-action-placeholder{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);text-align:center}.chart-wrap{width:100%;height:460px}.trend-chart-wrap{margin-top:.9rem}.trend-chart-area,.peer-chart-wrap{position:relative}.chart-empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;color:#315b96}.chart-tooltip{background:#f8fbfff7;border:1px solid #c9d9ef;border-radius:10px;box-shadow:0 8px 20px #0f2a571f;padding:.6rem .75rem;min-width:190px}.chart-tooltip-title{font-weight:700;margin-bottom:.35rem}.chart-tooltip-row{display:flex;justify-content:space-between;gap:1rem;white-space:nowrap}.chart-tooltip-name{font-weight:600}.trend-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.45rem .9rem;margin-top:.5rem}.trend-legend-item{display:flex;align-items:center;gap:.45rem;padding:.35rem .5rem;background:#eef5ff;border-radius:8px}.trend-legend-color{width:.75rem;height:.75rem;border-radius:999px;flex-shrink:0}.trend-legend-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trend-legend-value{font-size:.82rem;color:#315b96;white-space:nowrap}.manager-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;margin:1rem 0 1.15rem}.manager-summary-card{padding:.9rem 1rem;border-radius:12px;background:#eef5ff;border:1px solid #d4e2f3}.manager-summary-label{font-size:.85rem;color:#315b96}.manager-summary-value{font-size:1.45rem;font-weight:700;margin-top:.2rem}.manager-summary-meta{margin-top:.2rem;font-size:.78rem;color:#5372a1}.manager-analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.manager-chart-wrap{position:relative;min-height:340px}.peer-analysis-card .muted{margin-bottom:.15rem}.peer-chart-wrap{height:320px;margin-top:.15rem;margin-bottom:.1rem}.peer-trend-legend{margin-top:.05rem;margin-bottom:.1rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;margin-top:.5rem;font-size:.95rem}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid #cfe0f5;color:#0f2a57}th{font-weight:600;background:#e7f2ff;white-space:normal}td{white-space:nowrap}.table-sort-button{width:100%;min-height:auto;height:auto;padding:0;border:none;border-radius:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:.45rem;font-weight:600;text-align:left}.table-sort-button:hover:not(:disabled){background:transparent;border-color:transparent}.table-sort-indicator{color:#5b79a3;font-size:.82rem;flex-shrink:0}.metric-hit-target{color:#1c7a3a;font-weight:700}.targets-table{table-layout:fixed;font-size:.82rem}.targets-table th,.targets-table td{padding:.32rem .35rem}.targets-table input{width:100%;min-width:70px;padding:.28rem .32rem;font-size:.78rem}.targets-table button{padding:.48rem .72rem;font-size:.82rem}.muted{color:#315b96}.file-picker{min-width:240px;justify-content:flex-end;align-self:flex-end}.file-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.file-picker-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);height:var(--control-height);padding:.6rem 1rem;border:1px solid #b8cee9;border-radius:6px;background:#dbe9fb;color:#123566;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;width:fit-content;align-self:flex-start}.file-picker:hover .file-picker-button{background:#cfe1f8;border-color:#9ebee3}.file-picker-name{color:#315b96;white-space:nowrap;min-height:1.1rem}.ingestion-upload-row{align-items:flex-end}.ingestion-upload-stack{display:flex;flex-direction:column;gap:.55rem}.ingestion-file-picker{min-width:280px}.target-upload-row{align-items:flex-start}.target-upload-button-wrap{display:flex;flex-direction:column;justify-content:flex-start;gap:.25rem}.error{color:#7a1833;background:#fdeff4;padding:.5rem .75rem;border-radius:8px;margin:.5rem 0 1rem}@media (max-width: 900px){.topbar{flex-direction:column;align-items:flex-start}.monthly-actions{flex-wrap:wrap}}.compact-table table{font-size:.82rem}.compact-table th,.compact-table td{padding:.34rem .32rem;text-align:center}.compact-table .table-sort-button{gap:.18rem;font-size:.82rem;justify-content:center;text-align:center}.compact-table th{line-height:1.08}
