*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f5f7fb}.app-shell{min-height:100vh;background:linear-gradient(180deg,#1769e014,#f5f7fb00 360px),#f5f7fb}.topbar{height:auto;min-height:88px;padding:18px 24px;background:#fffffff0;border-bottom:1px solid #dce4ef;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.topbar h3{margin:0 0 4px;color:#102033}.dept-select{min-width:150px}.content{width:min(1680px,100%);margin:0 auto;padding:20px 24px 32px}.section-row{margin-top:16px;align-items:flex-start}.kpi-card{min-height:142px}.kpi-value{margin:12px 0;color:#102033;font-size:clamp(26px,3vw,38px);line-height:1.1;font-weight:800}.completion-card{min-height:252px}.completion-table{display:grid;gap:10px}.completion-head,.completion-row{display:grid;grid-template-columns:minmax(100px,1.1fr) minmax(100px,1fr) minmax(94px,1fr) minmax(88px,.85fr) minmax(72px,.7fr);align-items:center;column-gap:12px}.completion-head{color:#6b7788;font-size:12px}.completion-row{min-height:42px;padding:8px 10px;border:1px solid #e4ebf5;border-radius:8px;background:#fbfdff}.completion-row strong{color:#102033}.positive{color:#2f9e44}.negative{color:#d9480f}.chart{width:100%;height:380px}.chart-note{display:block;margin-bottom:8px}.full-width{width:100%}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.summary-item{min-height:66px;padding:10px 12px;border:1px solid #dce4ef;border-radius:8px;background:#f8fbff}.summary-item>span{display:block;margin-bottom:6px;color:#6b7788;font-size:12px}.summary-item>strong{color:#102033;font-size:20px;line-height:1.2}.field-label{display:inline-flex;align-items:center;gap:4px;min-width:0}.field-info{color:#6b7788;font-size:12px;cursor:help}.opp-row{width:100%;padding:12px;border:1px solid #dce4ef;border-radius:8px;background:#f8fbff;color:inherit;cursor:pointer;text-align:left;transition:border-color .2s ease,background .2s ease,transform .2s ease}.opp-row:hover,.opp-row:focus-visible{border-color:#1769e0;background:#f2f7ff;outline:none;transform:translateY(-1px)}.opp-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.opp-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.muted{color:#6b7788;font-size:12px}.opp-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px;padding:12px;border:1px solid #dce4ef;border-radius:8px;background:#fff}.opp-summary-grid .ant-statistic-title{margin-bottom:2px;color:#6b7788;font-size:12px}.opp-summary-grid .ant-statistic-content{color:#102033;font-size:18px;font-weight:700}.forecast-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.forecast-breakdown-item{min-height:86px;padding:12px;border:1px solid #dce4ef;border-radius:8px;background:#f8fbff}.forecast-breakdown-item span,.forecast-breakdown-item em{display:block;color:#6b7788;font-size:12px;font-style:normal}.forecast-breakdown-item strong{display:block;margin:4px 0;color:#102033;font-size:20px}.alert-button{width:100%;padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.risk-scroll-panel{max-height:520px;overflow-y:auto;padding-right:4px}.risk-card .ant-collapse-content-box{padding:10px}.risk-card .ant-alert{padding:10px 12px}.risk-card .ant-alert-message{font-weight:700}.risk-summary{min-width:0}.risk-summary-meta{margin-bottom:2px;color:#42526b;font-size:12px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-summary-text{color:#42526b;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-button .ant-alert{transition:transform .2s ease,box-shadow .2s ease}.alert-button:hover .ant-alert,.alert-button:focus-visible .ant-alert{transform:translateY(-1px);box-shadow:0 6px 16px #1020331f}.risk-suggestion{margin-top:6px;color:#42526b}.link-button{height:auto;padding:0;white-space:normal;text-align:left}.metric-box{min-height:78px;padding:12px;border:1px solid #dce4ef;border-radius:8px;background:#f8fbff}.metric-box span{display:block;margin-bottom:8px;color:#6b7788;font-size:12px}.metric-box strong{color:#102033;font-size:18px}.drawer-stat-row{margin-bottom:16px}@media (max-width: 760px){.topbar{padding:14px 12px}.content{padding:14px 12px 24px}.chart{height:280px}.completion-head,.completion-row{grid-template-columns:minmax(86px,1.2fr) minmax(88px,1fr) minmax(78px,.9fr) minmax(72px,.8fr) minmax(62px,.7fr);column-gap:8px}.risk-scroll-panel{max-height:none;overflow:visible;padding-right:0}.forecast-breakdown{grid-template-columns:1fr}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.opp-list-grid{grid-template-columns:1fr}}
