/* Project registry: one searchable workspace, with rows that reflow on small screens. */
.project-registry { --registry-ink:#182b3d; --registry-muted:#64758a; --registry-line:#e5eaf0; --registry-accent:#126d67; color:var(--registry-ink); min-width:0; max-width:1680px; margin:0 auto; }
.project-registry *, .project-registry *::before, .project-registry *::after { box-sizing:border-box; }
.project-registry [hidden] { display:none!important; }
.project-registry .workspace-icon { width:18px; height:18px; flex:none; stroke-width:1.7; }
.project-registry button, .project-registry input, .project-registry select, .project-registry a { -webkit-tap-highlight-color:transparent; }
.project-registry .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; font-size:13px; font-weight:600; border-radius:9px; }
.project-registry a:focus-visible, .project-registry button:focus-visible, .project-registry summary:focus-visible { outline:3px solid #91d3cb; outline-offset:3px; }
.project-registry-header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:2px 0 23px; }
.project-registry-eyebrow { display:block; margin-bottom:8px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:var(--registry-muted); }
.project-registry-header h1 { margin:0; font-size:30px; font-weight:700; line-height:1.16; letter-spacing:-.8px; }
.project-registry-header p { margin:8px 0 0; color:var(--registry-muted); font-size:13px; line-height:1.5; }
.project-registry-header > .btn { padding:12px 18px; flex:none; box-shadow:0 2px 3px #0c5b6510; }
.project-registry-navigation { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:17px; }
.project-registry .project-view-switch { display:flex; align-items:center; gap:3px; flex-wrap:wrap; margin:0; }
.project-registry .project-view-switch .btn { min-height:39px; padding:8px 13px; border:0; background:transparent; color:#617489; font-weight:600; }
.project-registry .project-view-switch .btn[aria-current=page] { color:#174c52; background:#dfece9; box-shadow:none; }
.project-registry .project-view-switch .btn:hover { background:#e4ebef; color:#193b48; }
.project-registry-search-link { display:inline-flex; align-items:center; gap:6px; color:#4e6578; font-size:12px; font-weight:500; text-decoration:none; padding:10px 0; }
.project-registry-search-link:hover { color:var(--registry-accent); text-decoration:underline; }
.project-registry-surface { background:#fff; border:1px solid #dce4ec; border-radius:14px; box-shadow:0 3px 12px #1b394605; overflow:visible; }
.project-registry-views { display:flex; align-items:stretch; gap:7px; padding:7px 20px 0; border-bottom:1px solid var(--registry-line); }
.project-registry .project-registry-view { gap:8px; min-height:57px; padding:12px 10px; margin-bottom:-1px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:#657588; font-size:13px; white-space:normal; box-shadow:none; }
.project-registry .project-registry-view[aria-pressed=true] { color:#125f5b; border-bottom-color:#147b70; }
.project-registry .project-registry-view:hover { color:#164f50; background:#f6f9fa; }
.project-registry-view-count { min-width:24px; padding:2px 6px; font-size:11px; font-weight:600; line-height:1.5; border-radius:5px; background:#f0f3f6; color:#718094; font-variant-numeric:tabular-nums; }
.project-registry-view[aria-pressed=true] .project-registry-view-count { background:#e1f1ec; color:#17685e; }
.project-registry-filters { padding:19px 24px 0; }
.project-registry-search-toolbar { display:flex; align-items:center; gap:9px; }
.project-registry-search { position:relative; display:flex; align-items:center; flex:1 1 400px; margin:0; min-width:180px; }
.project-registry-search > .workspace-icon { position:absolute; left:14px; pointer-events:none; color:#7e8da0; }
.project-registry-search .form-control { width:100%; min-height:45px; padding:11px 14px 11px 41px; border:1px solid #dbe3eb; background:#f9fbfc; border-radius:9px; font-size:13px; box-shadow:none; }
.project-registry-search .form-control:focus { background:#fff; border-color:#408f89; box-shadow:0 0 0 3px #237f7410; }
.project-registry-search-toolbar > .btn-primary { background:#f7faf9; border:1px solid #cee0db; color:#19665f; box-shadow:none; }
.project-registry-search-toolbar > .btn-primary:hover { background:#eaf5f1; }
.project-registry-search-toolbar > .btn-outline-secondary { border-color:#dbe3eb; background:#fff; }
.project-registry-search-toolbar > .btn[aria-expanded=true] { background:#ecf5f2; border-color:#c6ded7; color:#14665c; }
.project-registry-tools { display:flex; align-items:center; }
.project-registry-tools:empty { display:none; }
.project-registry [data-workspace-tools] .workspace-views { margin:0; padding:0; border:0; box-shadow:none; background:transparent; }
.project-registry [data-workspace-tools] .workspace-filter-chips { display:none; }
.project-registry [data-workspace-tools] .workspace-view-tools > summary { min-height:44px; border-color:#dbe3eb; border-radius:9px; font-size:13px; }
.project-registry [data-workspace-tools] .workspace-views-panel { z-index:30; }
.project-registry-error:empty { display:none; }
.project-registry-error { color:#9e3e35; font-size:13px; padding:13px 0 0; }
.project-registry-advanced { padding:20px; margin-top:15px; background:#f6f9fb; border:1px solid #e2e9ef; border-radius:10px; }
.project-registry-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 18px; }
.project-registry .field-group { margin:0; min-width:0; }
.project-registry .field-group .form-label { font-size:12px; color:#516579; font-weight:600; margin:0 0 7px; }
.project-registry .field-group select, .project-registry .field-group input { min-height:44px; width:100%; min-width:0; border:1px solid #d4dfe8; border-radius:8px; font-size:13px; background-color:#fff; }
.project-registry-date-range { grid-column:span 2; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.project-registry-filter-actions { display:flex; align-items:center; gap:10px; padding-top:18px; margin-top:18px; border-top:1px solid #e1e7ed; }
.project-registry-chips { display:flex; gap:7px; flex-wrap:wrap; padding:13px 0 3px; }
.project-registry .project-registry-chip { min-height:33px; max-width:100%; padding:5px 9px; border:1px solid #dbe7e4; border-radius:6px; background:#f0f6f4; color:#38635b; font-size:11px; line-height:1.45; box-shadow:none; text-align:left; gap:8px; }
.project-registry-chip span { overflow-wrap:anywhere; }
.project-registry-chip .workspace-icon { width:13px; height:13px; }
.project-registry .project-registry-clear { min-height:33px; padding:5px 8px; border:0; border-radius:6px; background:transparent; color:#687d8d; font-size:11px; box-shadow:none; }
.project-registry-results-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:19px 24px 15px; }
.project-registry-results-bar > div { display:flex; align-items:center; gap:12px; flex-wrap:wrap; min-width:0; }
.project-registry-count { font-size:13px; font-weight:650; }
.project-registry-range { color:#8895a4; font-size:11px; font-variant-numeric:tabular-nums; }
.project-registry-sort { display:flex; align-items:center; gap:4px; margin:0; max-width:240px; color:#7f8d9c; }
.project-registry-sort select { min-height:36px; padding:7px 27px 7px 6px; border:0; border-radius:6px; width:100%; background-color:transparent; font-size:12px; color:#5c7084; box-shadow:none; }
.project-registry-results { min-width:0; }
.project-registry-table { width:100%; table-layout:fixed; border-collapse:collapse; margin:0; }
.project-registry-table th { padding:12px 16px; border-top:1px solid var(--registry-line); border-bottom:1px solid var(--registry-line); background:#f8fafb; color:#7a8998; text-align:left; font-size:10px; font-weight:650; line-height:1.4; letter-spacing:.04em; text-transform:uppercase; }
.project-registry-table th:first-child { width:26%; padding-left:24px; }
.project-registry-table th:nth-child(2) { width:23%; }
.project-registry-table th:nth-child(3) { width:15%; }
.project-registry-table th:nth-child(4) { width:15%; }
.project-registry-table th:last-child { width:21%; padding-right:24px; }
.project-registry-table td { padding:20px 16px; vertical-align:top; font-size:12px; line-height:1.6; overflow-wrap:anywhere; border:0; border-bottom:1px solid var(--registry-line); }
.project-registry-table td:first-child { padding-left:24px; }
.project-registry-table td:last-child { padding-right:24px; }
.project-registry-table tr:last-child td { border-bottom:0; }
.project-registry-table tbody tr:hover { background:#fbfdfd; }
.project-registry-number { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0 0 8px; color:#8a98a7; font-size:10px; font-weight:600; line-height:1.5; }
.project-registry .status-badge { padding:2px 6px; border-radius:5px; font-size:9px; line-height:1.5; font-weight:600; letter-spacing:0; white-space:normal; }
.project-registry-title { color:#203b4c; font-size:14px; font-weight:650; line-height:1.45; text-decoration:none; display:inline-block; }
.project-registry-title:hover { color:#11756a; text-decoration:underline; text-underline-offset:3px; }
.project-registry-customer { display:block; font-size:12px; font-weight:600; color:#3c5163; line-height:1.5; }
.project-registry-site { display:flex; align-items:flex-start; gap:5px; margin-top:6px; color:#566e7e; font-size:12px; line-height:1.5; }
.project-registry-site .workspace-icon { width:13px; height:13px; margin-top:3px; color:#8a9aa6; }
.project-registry-table td small { display:block; margin-top:5px; color:#8b98a4; font-size:10px; line-height:1.55; font-weight:400; }
.project-registry-stage-name { font-size:12px; color:#45606c; }
.project-registry-person { display:flex; align-items:flex-start; gap:7px; font-size:11px; color:#566c7d; }
.project-registry-avatar { flex:none; display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:#e8f0f1; color:#4a7478; font-size:9px; font-weight:650; letter-spacing:-.3px; }
.project-registry-next > a { font-size:12px; font-weight:500; color:#3e626e; text-decoration:none; }
.project-registry-next > a:hover { text-decoration:underline; color:#126d67; }
.project-registry-no-step { color:#8895a1; font-size:12px; }
.project-registry-next small .workspace-icon { width:12px; height:12px; vertical-align:-2px; margin-right:4px; }
.project-registry-table td small.is-overdue { color:#b56b39; }
.project-registry-table td small.project-registry-pause { color:#6d7787; }
.project-registry-attention { margin-top:9px; }
.project-registry-attention summary { display:flex; align-items:center; gap:5px; cursor:pointer; font-size:10px; font-weight:500; line-height:1.5; color:#ad7140; list-style:none; }
.project-registry-attention summary::-webkit-details-marker { display:none; }
.project-registry-attention summary .workspace-icon { width:12px; height:12px; }
.project-registry-attention .project-attention { margin:8px 0 0; padding:9px 10px 9px 22px; background:#fcf7ef; border-radius:6px; color:#876741; font-size:10px; }
.project-registry-attention .record-subtitle { font-size:10px; line-height:1.5; color:#8c7a63; }
.project-registry-pagination { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 24px; border-top:1px solid var(--registry-line); font-size:12px; color:#7c8c9c; }
.project-registry-pagination:empty { display:none; }
.project-registry-pagination > div { display:flex; gap:7px; }
.project-registry-pagination .btn { min-height:38px; padding:7px 12px; font-size:12px; border-color:#dbe3eb; }
.project-registry .loading-state { padding:40px 24px; font-size:13px; color:var(--registry-muted); }
.project-registry .empty-state { border-top:1px solid var(--registry-line); border-radius:0 0 14px 14px; padding:40px 24px; }
.project-registry .empty-state h3 { font-size:17px; margin-bottom:8px; }
.project-registry .empty-state p { font-size:13px; max-width:440px; margin:0 auto 17px; }
.project-registry-results > .alert { margin:12px 24px; }
.project-registry-results > .btn { margin:0 24px 24px; }
@media(max-width:1199px) {
  .project-registry-table th, .project-registry-table td { padding-left:12px; padding-right:12px; }
  .project-registry-table th:first-child, .project-registry-table td:first-child { padding-left:18px; }
  .project-registry-table th:last-child, .project-registry-table td:last-child { padding-right:18px; }
  .project-registry .project-registry-view { padding-left:7px; padding-right:7px; font-size:12px; }
}
@media(max-width:1099px) {
  .project-registry-header { gap:18px; }
  .project-registry-header h1 { font-size:28px; }
  .project-registry-views { padding-left:16px; padding-right:16px; gap:5px; }
  .project-registry-filters { padding-left:18px; padding-right:18px; }
  .project-registry-results-bar { padding-left:18px; padding-right:18px; }
  .project-registry-search-toolbar { flex-wrap:wrap; }
  .project-registry-search { flex-basis:calc(100% - 96px); }
  .project-registry-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-registry-date-range { grid-column:1/-1; }
  .project-registry-table, .project-registry-table tbody { display:block; }
  .project-registry-table thead { display:none; }
  .project-registry-table tbody { border-top:1px solid var(--registry-line); }
  .project-registry-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 22px; padding:19px 20px; border-bottom:1px solid var(--registry-line); }
  .project-registry-table tr:last-child { border-bottom:0; }
  .project-registry-table td, .project-registry-table td:first-child, .project-registry-table td:last-child { display:block; padding:0; width:auto; border:0; min-width:0; }
  .project-registry-table td::before { content:attr(data-label); display:block; margin-bottom:6px; color:#8a98a7; font-size:10px; }
  .project-registry-table .project-registry-project { grid-column:1/-1; }
  .project-registry-table .project-registry-project::before { display:none; }
  .project-registry-location { grid-column:1/-1; }
  .project-registry-next { grid-column:1/-1; padding-top:13px!important; border-top:1px dashed #e2e9ee!important; }
  .project-registry-number { margin-bottom:7px; }
  .project-registry-title { font-size:15px; }
  .project-registry .status-badge { font-size:10px; }
  .project-registry-customer, .project-registry-site, .project-registry-stage-name, .project-registry-person, .project-registry-next > a { font-size:13px; }
  .project-registry-table td small { font-size:11px; }
}
@media(max-width:599px) {
  .project-registry-header { flex-wrap:wrap; margin-bottom:16px; gap:15px; }
  .project-registry-header h1 { font-size:27px; }
  .project-registry-header p { font-size:12px; max-width:270px; }
  .project-registry-eyebrow { font-size:9px; margin-bottom:7px; }
  .project-registry-header > .btn { min-height:44px; padding:10px 14px; }
  .project-registry-navigation { align-items:flex-start; flex-direction:column; gap:3px; margin-bottom:12px; }
  .project-registry .project-view-switch { gap:2px; }
  .project-registry .project-view-switch .btn { min-height:44px; font-size:11px; padding:9px 10px; }
  .project-registry-search-link { padding:5px 9px; font-size:11px; min-height:44px; }
  .project-registry-surface { border-radius:11px; }
  .project-registry-views { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:9px; gap:5px; }
  .project-registry .project-registry-view { justify-content:space-between; min-height:44px; padding:9px 9px; border:1px solid transparent; border-radius:7px; margin:0; font-size:11px; gap:5px; text-align:left; }
  .project-registry .project-registry-view[aria-pressed=true] { border-color:#dcece7; background:#edf6f2; }
  .project-registry-view-count { min-width:22px; font-size:10px; padding:2px 4px; }
  .project-registry-filters { padding:14px 13px 0; }
  .project-registry-search-toolbar { gap:8px; }
  .project-registry-search { flex-basis:100%; min-width:0; }
  .project-registry-search .form-control { font-size:12px; padding-right:9px; }
  .project-registry-search-toolbar > .btn { min-height:44px; padding:10px 12px; font-size:12px; }
  .project-registry-tools { margin-left:auto; }
  .project-registry [data-workspace-tools] .workspace-view-tools > summary { padding:10px; font-size:12px; }
  .project-registry [data-workspace-tools] .workspace-views-panel { width:min(300px,calc(100vw - 58px)); right:0; }
  .project-registry-advanced { padding:14px 11px; }
  .project-registry-filter-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
  .project-registry-date-range { gap:10px; }
  .project-registry-date-range input { font-size:11px; padding-left:8px; padding-right:8px; }
  .project-registry-filter-actions { align-items:stretch; flex-direction:column; gap:4px; }
  .project-registry .project-registry-chip, .project-registry .project-registry-clear { min-height:44px; }
  .project-registry-results-bar { flex-wrap:wrap; gap:8px; padding:16px 14px 12px; }
  .project-registry-results-bar > div { width:100%; justify-content:space-between; gap:8px; }
  .project-registry-sort { margin-left:-3px; max-width:100%; }
  .project-registry-sort select { min-height:44px; padding-left:6px; font-size:12px; }
  .project-registry-table tr { padding:18px 16px; gap:13px 14px; }
  .project-registry-title { display:flex; align-items:center; min-height:44px; font-size:15px; }
  .project-registry-number { font-size:10px; }
  .project-registry-attention summary { min-height:44px; font-size:11px; }
  .project-registry-attention { margin-top:4px; }
  .project-registry-stage-name, .project-registry-person { font-size:12px; }
  .project-registry-next > a { display:flex; align-items:center; min-height:44px; }
  .project-registry-avatar { width:24px; height:24px; }
  .project-registry-pagination { padding:14px; flex-wrap:wrap; gap:10px; }
  .project-registry-pagination > span { width:100%; }
  .project-registry-pagination > div { width:100%; justify-content:space-between; }
  .project-registry-pagination .btn { min-height:44px; }
}
