:root{--po-navy:#0f2a4a;--po-navy-2:#17406d;--po-blue:#2563eb;--po-bg:#f3f5f9;--po-card:#fff;--po-border:#e3e8ef;--po-text:#1f2937;--po-muted:#6b7280;--po-ok:#16a34a;--po-warn:#d97706;--po-danger:#dc2626;--el-color-primary:#1d4ed8}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{color:var(--po-text);background:var(--po-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;font-size:14px}.page{max-width:1440px;margin:0 auto;padding:20px 24px 40px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-head h2{margin:0;font-size:20px;font-weight:600}.page-head .sub{color:var(--po-muted);margin-top:4px;font-size:13px}.card{background:var(--po-card);border:1px solid var(--po-border);border-radius:10px;padding:16px}.grid{gap:16px;display:grid}.grid.kpi{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.grid.two{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.kpi-tile{background:var(--po-card);border:1px solid var(--po-border);border-radius:10px;padding:14px 16px}.kpi-tile .label{color:var(--po-muted);font-size:12px}.kpi-tile .value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:26px;font-weight:650}.kpi-tile .hint{color:var(--po-muted);margin-top:4px;font-size:11px;line-height:1.4}.muted{color:var(--po-muted)}.small{font-size:12px}.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}.section-title{align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:600;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.flex{align-items:center;gap:8px;display:flex}.spacer{flex:1}.kanban{grid-template-columns:repeat(6,minmax(200px,1fr));gap:12px;display:grid;overflow-x:auto}.kanban-col{background:#eef2f7;border-radius:10px;min-height:200px;padding:10px}.kanban-col h4{justify-content:space-between;margin:0 0 8px;font-size:13px;display:flex}.task-card{border:1px solid var(--po-border);cursor:pointer;background:#fff;border-radius:8px;margin-bottom:8px;padding:10px}.task-card:hover{border-color:var(--po-blue)}.task-card .t{font-size:13px;font-weight:550}.task-card .m{color:var(--po-muted);justify-content:space-between;gap:6px;margin-top:6px;font-size:12px;display:flex}.overdue{color:var(--po-danger)!important}.notice{color:#7a5300;background:#fff8e6;border:1px solid #f5d38a;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.6}.notice.info{color:#1e3a8a;background:#eef4ff;border-color:#bfd3fb}.notice.danger{color:#8a1c1c;background:#fdecec;border-color:#f5b5b5}@media (width<=760px){.page{padding:12px}.grid.two{grid-template-columns:1fr}}
