/* MyToday page composition. Loaded after the legacy stylesheet. */

.today-action-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(270px,.285fr);
  grid-template-areas:'main attention';
  gap:16px;
  align-items:start;
}

.today-action-layout.attention-top {
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:'attention' 'main';
}

.today-action-main {
  display:grid;
  grid-area:main;
  gap:12px;
}

.today-action-layout>.today-attention-rail { grid-area:attention; }

.today-plan-card,.today-workspaces,.today-commitments {
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--paper);
}

.today-plan-card { padding:14px; }
.today-plan-card .today-plan-heading { margin-bottom:10px; }
.today-plan-card .today-plan-heading h2 { margin:3px 0 0; font-size:16px; }
.today-plan-card .today-plan-heading a,.today-commitments>header>a,.today-commitments .today-capacity-header-actions>a { color:var(--green); font-size:10px; font-weight:700; }
.today-action-main>.landing-capacity-report { margin:0; }

.today-capacity-header-actions,.today-capacity-controls {
  display:flex;
  align-items:center;
  gap:8px;
}

.today-capacity-fold,.today-capacity-drag {
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  padding:0;
  border:1px solid var(--line);
  border-radius:6px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:15px;
  line-height:1;
  cursor:pointer;
}

.today-capacity-fold:hover,.today-capacity-fold:focus-visible,.today-capacity-drag:hover,.today-capacity-drag:focus-visible {
  border-color:var(--green);
  background:var(--green-soft);
  color:var(--ink);
  outline:none;
}

.today-capacity-drag { cursor:grab; font-size:18px; letter-spacing:-3px; }
.today-capacity-drag:active { cursor:grabbing; }

.today-capacity-panel.is-reordering,.today-commitments-panel.is-reordering,.today-attention-panel.is-reordering {
  position:relative;
  z-index:2;
  transform:translateY(var(--today-capacity-drag-offset,0));
  opacity:.88;
  box-shadow:0 12px 28px rgba(0,0,0,.2);
  transition:none;
}

.today-capacity-panel.is-folded { gap:0; }
.today-capacity-panel.is-folded>header { padding-bottom:0; }
.today-capacity-panel.is-folded .agile-capacity-key,.today-capacity-panel.is-folded .agile-capacity-days { display:none; }

.today-workspaces { border-radius:10px; }
.today-workspaces summary { display:flex; align-items:center; gap:8px; padding:10px 12px; font-size:12px; font-weight:700; cursor:pointer; list-style:none; }
.today-workspaces summary::-webkit-details-marker { display:none; }
.today-workspaces summary::after { content:'+'; margin-left:auto; color:var(--muted); font-size:16px; }
.today-workspaces[open] summary::after { content:'âˆ’'; }
.today-workspaces summary small,.today-commitment-group header>span:last-child { display:grid; place-items:center; min-width:20px; height:20px; border-radius:99px; background:var(--canvas); color:var(--muted); font-size:9px; font-weight:700; }
.today-workspaces>div { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0 12px 12px; }
.today-workspaces section { display:grid; gap:4px; }
.today-workspaces .today-initiative-list { margin:0; }
.today-workspaces .today-initiative-link { padding:6px; }
.today-workspaces .today-initiative-link b { font-size:10px; }

.today-commitments { overflow:hidden; }
.today-commitments>header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:14px 16px 12px; border-bottom:1px solid var(--line); }
.today-commitments h2 { margin:4px 0 0; font-size:15px; }
.today-commitments-panel.is-folded>header { padding-bottom:12px; border-bottom:0; }
.today-commitments-panel.is-folded .today-commitment-groups { display:none; }
.today-commitment-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.today-commitment-group { min-height:146px; padding:11px 12px; border-right:1px solid var(--line); }
.today-commitment-group:last-child { border-right:0; }
.today-commitment-group header { display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; }
.today-commitment-group>p { margin:15px 0 0; color:var(--muted); font-size:10px; line-height:1.45; }
.today-commitment-group .agenda-row { grid-template-columns:16px minmax(0,1fr); gap:6px; padding:6px 3px; }
.today-commitment-group .agenda-meta { grid-column:2; grid-row:2; display:flex; gap:5px; }
.today-commitment-group .agenda-row b { font-size:10px; }
.today-commitment-group .agenda-row small,.today-commitment-group .agenda-meta strong { font-size:8px; }
.today-commitment-group .agenda-check { width:10px; height:10px; }
.today-call-link { align-self:center; color:#579bfc; font-size:9px; font-weight:700; text-decoration:none; white-space:nowrap; }
.today-call-link:hover { text-decoration:underline; }
.today-action-row:has(.today-call-link) { grid-template-columns:16px minmax(0,1fr) auto; }
.today-action-row:has(.today-call-link) .today-call-link { grid-column:3; grid-row:1 / span 2; }
.today-commitment-meta { grid-column:2; grid-row:2; display:flex; align-items:center; gap:5px; min-width:0; white-space:nowrap; }
.today-commitment-meta .today-project-work-call { color:#579bfc; font-size:8px; font-weight:700; text-decoration:none; white-space:nowrap; }
.today-commitment-meta .today-project-work-call:hover { text-decoration:underline; }

.today-attention-panel.is-folded>h2,.today-attention-panel.is-folded>p,.today-attention-panel.is-folded .today-attention-list,.today-attention-panel.is-folded .today-waiting-summary { display:none; }

/* Read-only commitments use the same title and metadata elements as all other
   agenda rows, but place them on two explicit lines instead of a right rail. */
.today-commitment-group .agenda-row--markerless {
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto;
  align-items:start;
  gap:2px;
}

.today-commitment-group .agenda-row--markerless .today-action-open {
  text-align:left;
}

.today-commitment-group .agenda-row--markerless>span:first-child {
  grid-column:1;
  grid-row:1;
  display:grid;
  gap:2px;
  min-width:0;
}

.today-commitment-group .agenda-row--markerless .agenda-meta {
  grid-column:1;
  grid-row:2;
  display:block;
  min-width:0;
  text-align:left;
}

.today-commitment-group .agenda-row--markerless .today-commitment-metadata strong {
  color:var(--muted);
  font-size:8px;
  font-weight:400;
}
.today-commitment-group .today-commitment-metadata { display:flex; align-items:center; gap:5px; white-space:nowrap; }
.today-commitment-meta-open { margin:0; padding:0; border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.today-commitment-group .today-commitment-metadata .today-call-link { margin-left:5px; color:#579bfc; font-size:8px; font-weight:700; }

/* Commitment work has one presentation contract in both spheres. A project
   contributes context and nesting, while a Solo item uses the same row rhythm. */
.today-commitment-group .agenda-row--markerless,
.today-commitment-group .today-project-work>button {
  width:100%;
  min-width:0;
  color:var(--ink);
  text-align:left;
}

.today-commitment-group .today-project-work>button {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:8px;
}
.today-project-work-entry { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto; align-items:start; gap:2px; }
.today-project-work-entry>button { grid-column:1; grid-row:1; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:8px; min-width:0; width:100%; color:var(--ink); text-align:left; }
.today-project-work-entry.has-check { grid-template-columns:11px minmax(0,1fr); column-gap:6px; }
.today-project-work-entry.has-check>.today-project-check { grid-column:1; grid-row:1 / span 2; align-self:start; }
.today-project-work-entry.has-check>button { grid-column:2; }
.today-project-work-entry.has-check>.today-project-work-entry-meta { grid-column:2; }
.today-initiative-work-entry.has-check { grid-template-columns:11px minmax(0,1fr); column-gap:6px; }
.today-initiative-work-entry.has-check>.today-initiative-work-check { grid-column:1; grid-row:1 / span 2; align-self:start; width:10px; height:10px; margin:1px 0 0; accent-color:var(--green); cursor:pointer; }
.today-initiative-work-entry.has-check>button,.today-initiative-work-entry.has-check>.today-initiative-todo-open { grid-column:2; grid-row:1; }
.today-initiative-work-entry>.today-initiative-todo-open { grid-column:1; grid-row:1; min-width:0; overflow:hidden; color:var(--ink); font-size:9px; font-weight:700; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.today-initiative-work-meta { grid-column:1; grid-row:2; display:flex; align-items:center; gap:5px; min-width:0; color:var(--muted); font-size:8px; font-weight:700; white-space:nowrap; }
.today-initiative-commitment .today-initiative-work-meta { color:var(--muted); font-size:8px; font-weight:700; }
.today-initiative-work-entry.has-check>.today-initiative-work-meta { grid-column:2; }
.today-initiative-work-entry.complete { opacity:.72; }
.today-project-work-entry-meta { grid-column:1; grid-row:2; display:flex; align-items:center; gap:5px; min-width:0; white-space:nowrap; }
.today-project-work-entry-meta small { color:var(--muted); font-size:8px; font-weight:700; }
.today-project-work-entry-meta .today-project-work-call { color:#579bfc; }
.today-project-work-call { align-self:center; color:#579bfc; font-size:8px; font-weight:700; text-decoration:none; white-space:nowrap; }
.today-project-work-call:hover { text-decoration:underline; }

.today-commitment-group .today-project-work-copy {
  min-width:0;
}

.today-commitment-group .today-project-work-copy>span,
.today-commitment-group .agenda-row--markerless .today-row-title {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.today-commitment-group .today-project-work-copy small,
.today-commitment-group .agenda-row--markerless .agenda-meta {
  color:var(--muted);
  font-size:8px;
  font-weight:700;
}

@media(max-width:900px) {
  .today-action-layout { grid-template-columns:1fr; grid-template-areas:'main' 'attention'; }
  .today-action-layout.attention-top { grid-template-areas:'attention' 'main'; }
  .today-action-layout .today-attention-rail { grid-column:auto; }
  .today-action-layout .today-attention-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .today-commitment-groups { grid-template-columns:1fr; }
  .today-commitment-group { min-height:0; border-right:0; border-bottom:1px solid var(--line); }
  .today-commitment-group:last-child { border-bottom:0; }
}

@media(max-width:600px) {
  .today-workspaces>div,.today-action-layout .today-attention-list { grid-template-columns:1fr; }
  .today-capacity-header-actions,.today-capacity-controls { gap:5px; }
}
