/* Page navigation ABOVE the title: shared pattern for every module.
   Use section-navigation, strong + small labels and aria-current="page".
   The outer stroke uses the same black outline as the application boxes. */
.admin-navigation,.section-navigation{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:8px;padding:8px;margin:0 0 22px;background:#30424bed;border:var(--control-stroke-width,2px) solid var(--control-stroke-color,#181a1c);border-radius:16px}
:is(.admin-navigation,.section-navigation)>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;min-height:80px;padding:15px 18px;text-align:left;background:transparent;color:#fffaf0;border:var(--control-stroke-width,2px) solid var(--control-stroke-color,#181a1c)!important;border-radius:10px!important;box-shadow:none;min-width:0;overflow-wrap:anywhere}
:is(.admin-navigation,.section-navigation)>button strong{font-size:16px;line-height:1.35}:is(.admin-navigation,.section-navigation)>button small{font-size:12px;color:#c4d1d6;line-height:1.4}
:is(.admin-navigation,.section-navigation)>button:hover{background:#ffffff14}:is(.admin-navigation,.section-navigation)>button[aria-current=page]{background:#f3b747;color:#30291c;box-shadow:0 2px 6px #0002}:is(.admin-navigation,.section-navigation)>button[aria-current=page] small{color:#594523}
:is(.admin-navigation,.section-navigation)>button:focus-visible{outline:3px solid #fff;outline-offset:1px}
.admin-help{padding:16px 20px;margin:18px 0;background:#fffaf0eb;border:1px solid #b4b9b7;border-radius:12px;color:#455a63}.admin-help summary{font-weight:650;cursor:pointer}.admin-help p{max-width:1000px;line-height:1.7;margin-bottom:0}
.access-filters{margin:18px 0}.access-filters [aria-pressed=true]{background:#304952;color:white}.access-person .access-remove,dialog .access-remove{background:#fff0ec;color:#923e2e;--control-stroke-color:#bc7565}.access-person .access-restore{background:#e5f3eb;color:#226c48}
@media(max-width:480px){.admin-navigation,.section-navigation{grid-template-columns:1fr;gap:4px;padding:5px}:is(.admin-navigation,.section-navigation)>button{padding:12px;min-height:68px}:is(.admin-navigation,.section-navigation)>button strong{font-size:14px}}
.work-item-list{display:grid;gap:12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:3px 4px 6px 0}
.request-item-list{max-height:70vh}.work-central-list{max-height:520px}
.work-item,.personal-todos .todo-row{display:flex;align-items:flex-start;gap:20px;padding:18px;margin:0;border:1px solid #c7d3d7;border-radius:12px;background:#f7fafb;box-shadow:0 2px 3px #263e4805}
.personal-todos .todo-row+.todo-row{margin-top:12px}
.work-item-content,.personal-todos .todo-content{flex:1;min-width:0}
.personal-todos .todo-title{flex-direction:column;align-items:flex-start;gap:9px}.personal-todos .todo-title strong{line-height:1.4;color:#293e47}
.work-item-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:9px}
.work-item-title{margin:0 0 7px;font-size:18px;line-height:1.4;overflow-wrap:anywhere}
.work-item-title button{border:0!important;border-radius:0!important;background:transparent;box-shadow:none;padding:0;min-height:0;font:inherit;font-weight:700;color:#293e47;text-align:left;white-space:normal}
.work-item-title button:hover{text-decoration:underline}
.work-item-context{margin:5px 0 10px;color:#53666f;font-size:13px;line-height:1.5}
.work-item-meta{display:flex;gap:8px 18px;flex-wrap:wrap;color:#53666f;font-size:13px;line-height:1.6}
.work-item-meta b{font-weight:650;color:#344b56;margin-right:4px}
.work-item-date{display:block;color:#637780;font-size:12px;margin-top:9px}
.work-item-actions,.personal-todos .todo-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex:0 1 290px}
.work-item-actions button,.personal-todos .todo-actions button{border:1px solid #9bafb7;border-radius:8px;background:#fffdf7;color:#304952;padding:9px 12px;font-size:14px;line-height:1.4;min-height:40px}
.work-item-actions button:hover,.personal-todos .todo-actions button:hover{background:#e7eff2}
.request-item{display:block}.request-item .work-item-title{font-size:21px}.request-item .work-item-actions{margin-top:16px;padding-top:14px;border-top:1px solid #dce5e8;justify-content:flex-end;flex-wrap:wrap}.request-item .work-item-actions button{flex:0 0 auto}.request-item .work-item-actions button[data-request-open]:not([data-request-focus]){background:#304952;color:#fff}.request-item .work-item-meta{font-size:14px}
.request-item .work-item-actions .request-done,.request-item .work-item-actions .request-accept{background:#226c48;color:white}.request-item .work-item-actions .request-done:hover,.request-item .work-item-actions .request-accept:hover{background:#195438}
.personal-todos .todo-actions .todo-complete,.request-dialog button[value=completed]{background:#226c48;color:#fff;border-color:#226c48}
.personal-todos .todo-actions .todo-complete:hover,.request-dialog button[value=completed]:hover{background:#195438}
.work-item .status,.request-dialog .request-state,.request-dialog .request-stage,.personal-todos .todo-urgency{font-size:13px;font-weight:650;line-height:1.4;padding:5px 10px;border-radius:20px}
.work-item .work-priority,.request-dialog .work-priority{font-size:13px;font-weight:650;line-height:1.4;padding:5px 10px;border-radius:20px;margin:0}
.request-summary{gap:12px;margin:16px 0}
.request-summary button,.personal-todos .todo-counts>div,.personal-todos .todo-counts>button{padding:12px 18px;border:1px solid #c5d0d4;border-radius:12px;background:#eef3f5;color:#304952;gap:12px}
.request-summary strong,.personal-todos .todo-counts strong{font-size:28px;color:inherit;font-variant-numeric:tabular-nums}
.request-summary button[data-request-filter=completed],.personal-todos .todo-counts>.todo-done-count,.request-history-button{background:#e5f3eb;color:#1c6644;border-color:#a9d1b9}
.request-progress{background:#f7fafb;border-color:#c7d3d7;border-radius:12px}
.request-progress h3{font-size:18px;margin-top:0}
.request-update-strip.work-updates,.personal-todos .todo-updates{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:0 0 8px;margin:12px 0;max-width:100%}
.request-update-strip.work-updates>article,.personal-todos .todo-updates>div{box-sizing:border-box;flex:0 0 270px;max-width:85vw;height:158px;min-width:0;padding:12px;background:#eef3f5;border:1px solid #c7d7de;border-left:3px solid #9eb7c3;border-radius:8px;overflow-y:auto}
.request-update-strip.work-updates small,.personal-todos .todo-updates small{display:block;color:#637780;font-size:12px;line-height:1.5}
.request-update-strip.work-updates p,.personal-todos .todo-updates .todo-notes{font-size:14px;line-height:1.5;color:#42545b;margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;max-height:none;overflow:visible}
.request-update-strip.work-updates strong{font-size:14px;margin:7px 0 0}
.request-dialog .request-description{background:#f7fafb;border-color:#c7d3d7;border-radius:12px}
.request-dialog .field textarea,#personal-todo-form textarea{min-height:110px;line-height:1.5}
.work-item-list:focus-visible,.work-item button:focus-visible{outline:3px solid #417c95;outline-offset:3px}
@media(max-width:850px){.work-item,.personal-todos .todo-row{flex-direction:column;gap:14px}.work-item-actions,.personal-todos .todo-actions{flex:auto;justify-content:flex-start;width:100%}.work-item-content{width:100%}.work-item-actions button{flex:1 1 auto}}
@media(max-width:500px){.work-item,.personal-todos .todo-row{padding:14px}.work-item-meta{flex-direction:column;gap:4px}.request-summary button{min-width:0;flex-basis:45%}.request-item-list{max-height:65vh}}

/* SCI overview: keep the whole request accessible in its detail while showing more topics at once. */
.requests-panel .request-item-list{gap:7px}
.requests-panel .request-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:center;
  gap:16px;
  padding:9px 13px;
  border-radius:9px;
}
.requests-panel .request-item .work-item-content{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  grid-template-areas:"tags title" "context context" "meta meta";
  align-items:center;
  column-gap:11px;
  row-gap:3px;
}
.requests-panel .request-item .work-item-tags{grid-area:tags;min-width:0;max-width:420px;flex-wrap:nowrap;gap:5px;margin:0}
.requests-panel .request-item .request-stage{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.requests-panel .request-item .work-item-title{grid-area:title;min-width:0;margin:0;font-size:16px;line-height:1.25}
.requests-panel .request-item .work-item-title button{line-height:inherit}
.requests-panel .request-item .work-item-context{grid-area:context;min-width:0;margin:0;color:#52656d;font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.requests-panel .request-item .work-item-meta{grid-area:meta;gap:2px 12px;font-size:12px;line-height:1.3}
.requests-panel .request-item .work-item-meta b{margin-right:2px}
.requests-panel .request-item .work-item-date{display:none}
.requests-panel .request-item .status,.requests-panel .request-item .work-priority{padding:3px 7px;font-size:11px;line-height:1.2}
.requests-panel .request-item .work-item-actions{display:flex;flex:none;flex-wrap:nowrap;justify-content:flex-end;gap:6px;width:auto;margin:0;padding:0;border:0}
.requests-panel .request-item .work-item-actions button{flex:none;min-height:34px;padding:5px 9px;font-size:12px;line-height:1.2;white-space:nowrap}
@media(max-width:1100px){
  .requests-panel .request-item{grid-template-columns:minmax(0,1fr);gap:7px}
  .requests-panel .request-item .work-item-actions{justify-content:flex-start;flex-wrap:wrap}
}
@media(max-width:650px){
  .requests-panel .request-item .work-item-content{grid-template-columns:minmax(0,1fr);grid-template-areas:"tags" "title" "context" "meta";row-gap:5px}
  .requests-panel .request-item .work-item-tags{flex-wrap:wrap}
  .requests-panel .request-item .work-item-context{white-space:normal;overflow:visible}
  .requests-panel .request-item .work-item-meta{flex-direction:row;gap:4px 12px}
  .requests-panel .request-item .work-item-actions button{min-height:38px}
}
