/* Pofis shared office operations */
#today .pofis-team-ops{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:17px 0 18px;align-items:stretch
}
#today .pofis-team-ops>.card{min-width:0;padding:20px 21px}
#today .po-team-goals-card{grid-column:1/-1}
#today .po-ops-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
#today .po-ops-heading h2{font-size:19px;line-height:1.25;margin:0}
#today .po-ops-heading .po-ops-tag,#today .po-team-score{
 display:inline-flex;white-space:nowrap;align-items:center;border-radius:20px;padding:6px 9px;
 font-size:11px;font-weight:800;background:#e8f5ed;color:#207247
}
#today .po-team-score{font-size:12px;background:#def5e7}
#today .pofis-team-ops .sub{font-size:12px;line-height:1.55;margin:6px 0 13px}
#today .po-handoff-previous,#today .po-handoff-today{
 border-radius:12px;background:#f4f7f5;padding:12px 14px;margin-top:10px;font-size:13px;line-height:1.5;overflow-wrap:anywhere
}
#today .po-handoff-previous strong,#today .po-handoff-today strong{display:block;font-size:12px;margin-bottom:5px;color:#2b6b46}
#today .po-handoff-previous p,#today .po-handoff-today p{margin:0 0 6px;white-space:pre-wrap}
#today .po-handoff-previous small,#today .po-handoff-today small{color:#6d8074;font-size:11px}
#today .po-handoff-today:empty{display:none}
#today .po-ops-form{display:grid;gap:9px;margin-top:14px}
#today .po-ops-form label,#today .po-needs-form label{font-size:12px;font-weight:800}
#today .po-ops-form textarea,#today .po-needs-compose input,#today .po-needs-compose select{
 box-sizing:border-box;min-width:0;width:100%;border:1px solid #cbded0;border-radius:10px;
 background:#fff;color:#223a2d;padding:10px 11px;font:inherit;font-size:13px;line-height:1.5
}
#today .po-ops-form textarea{resize:vertical;min-height:84px}
#today .po-ops-form-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}
#today .po-ops-form-actions small{font-size:11px;line-height:1.4;color:#7a887d}
#today .po-ops-form-actions .btn{flex:0 0 auto}
#today .po-ops-feedback{font-size:12px;line-height:1.45;color:#248050;margin:9px 0 0}
#today .po-ops-feedback:empty{display:none}
#today .po-needs-form{display:grid;gap:7px}
#today .po-needs-compose{display:grid;grid-template-columns:minmax(0,1fr) 115px auto;gap:7px;align-items:stretch}
#today .po-needs-compose .btn{padding:10px 12px;white-space:nowrap}
#today .po-needs-list{display:grid;gap:0;margin-top:15px}
#today .po-needs-list>.sub{margin:0}
#today .po-need-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #e2e9e4}
#today .po-need-content{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;overflow-wrap:anywhere}
#today .po-need-content strong{font-size:13px;font-weight:800}
#today .po-need-content small{font-size:11px;line-height:1.45;color:#728277}
#today .po-need-actions{display:flex;flex:0 0 auto;gap:5px;flex-wrap:wrap;justify-content:flex-end}
#today .po-need-action{
 border:1px solid #cbded0;background:#f2f9f4;color:#246c45;padding:7px 9px;border-radius:9px;
 font:inherit;font-size:11px;font-weight:800;cursor:pointer
}
#today .po-need-action.is-primary{background:#28ad6f;color:#fff;border-color:#28ad6f}
#today .po-need-action:disabled{opacity:.5;cursor:wait}
#today .po-need-row.is-done{opacity:.76}
#today .po-needs-completed{margin-top:8px}
#today .po-needs-completed summary{font-size:12px;color:#547b63;cursor:pointer;padding:8px 0;font-weight:750}
#today .po-team-goals-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:15px}
#today .po-goal-row{border:1px solid #e1eae3;background:#fbfdfb;border-radius:12px;padding:14px}
#today .po-goal-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px}
#today .po-goal-top strong{font-size:13px;line-height:1.35}
#today .po-goal-top span{font-size:11px;color:#377a50;font-weight:800;white-space:nowrap}
#today .po-goal-progress{height:8px;background:#e2ebe4;border-radius:20px;overflow:hidden}
#today .po-goal-progress span{display:block;height:100%;background:#28b775;border-radius:inherit;transition:width .2s ease}
#today .po-ops-form :is(textarea,input,select):focus-visible,#today .po-needs-compose :is(input,select):focus-visible{
 outline:2px solid #36a76e;outline-offset:2px
}
html[data-theme="dark"] #today :is(.po-handoff-previous,.po-handoff-today){background:#2a3530;color:#e9f5ea}
html[data-theme="dark"] #today :is(.po-handoff-previous,.po-handoff-today) strong{color:#b5ebc7}
html[data-theme="dark"] #today :is(.po-handoff-previous,.po-handoff-today) small{color:#b7c7ba}
html[data-theme="dark"] #today :is(.po-ops-tag,.po-team-score){background:#294939;color:#b4f2cf}
html[data-theme="dark"] #today :is(.po-ops-form textarea,.po-needs-compose input,.po-needs-compose select){
 background:#2d3530;color:#f4fcf5;border-color:#536c58
}
html[data-theme="dark"] #today .po-need-row{border-color:#414b43}
html[data-theme="dark"] #today .po-need-content small{color:#bdcabc}
html[data-theme="dark"] #today .po-need-action{background:#294637;color:#c6f5d8;border-color:#506d59}
html[data-theme="dark"] #today .po-need-action.is-primary{background:#238b58;color:#fff;border-color:#238b58}
html[data-theme="dark"] #today .po-goal-row{background:#2b352e;border-color:#4b5d4f}
html[data-theme="dark"] #today .po-goal-top span{color:#a9ebc3}
html[data-theme="dark"] #today .po-goal-progress{background:#46574b}
@media(max-width:850px){
 #today .pofis-team-ops{grid-template-columns:minmax(0,1fr);gap:14px}
 #today .po-team-goals-card{grid-column:auto}
 #today .po-team-goals-list{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:520px){
 #today .pofis-team-ops>.card{padding:16px}
 #today .po-needs-compose{grid-template-columns:minmax(0,1fr) auto}
 #today .po-needs-compose input{grid-column:1/-1}
 #today .po-need-row{align-items:flex-start;flex-direction:column}
 #today .po-need-actions{justify-content:flex-start}
 #today .po-goal-top{align-items:flex-start;flex-direction:column;gap:4px}
 #today .po-ops-form-actions{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){#today .po-goal-progress span{transition:none}}

/* Friday handoff belongs to the 17:30 closing checklist, not the public operations grid. */
#today .pofis-closing-checklist .po-closing-handoff{
 margin:18px 0 0;padding:17px 0 3px;
 border-top:1px solid var(--pofis-card-border,#e2e9e4);
 min-width:0;
}
#today .po-closing-handoff .po-ops-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
#today .po-closing-handoff .po-ops-heading h3{font-size:16px;line-height:1.35;margin:0;font-weight:850}
#today .po-closing-handoff .po-ops-heading .po-ops-tag{
 background:#e8f5ed;color:#207247;border-radius:20px;padding:6px 9px;
 font-size:11px;font-weight:800;white-space:nowrap
}
#today .po-closing-handoff > .sub{font-size:12px;line-height:1.5;margin:6px 0 12px}
#today .po-closing-handoff .po-handoff-previous,
#today .po-closing-handoff .po-handoff-today{max-width:100%;box-sizing:border-box}
html[data-theme="dark"] #today .po-closing-handoff .po-ops-tag{background:#294939;color:#b4f2cf}
/* Only Needs + Team Goals remain in the main operations grid. */
#today .pofis-team-ops > .po-team-goals-card{grid-column:auto}
#today .pofis-team-ops > .po-team-goals-card .po-team-goals-list{grid-template-columns:minmax(0,1fr)}
@media(max-width:850px){
 #today .pofis-team-ops > .po-team-goals-card{grid-column:auto}
}
