/* Existing tokens keep project evidence consistent with the diagnostic tools.
   Rows favor comparing evidence; dialogs keep editing separate from live refreshes. */
.projects-workspace { min-width:0; max-width:1100px; }
.projects-heading { margin-bottom:var(--s-5); }
.projects-workspace h1 { font-size:clamp(1.625rem, 1.3rem + 1vw, 2.125rem); }
.projects-workspace p,.projects-workspace li,.projects-workspace dd { overflow-wrap:anywhere; }
.projects-toolbar,.projects-controls { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s-3); }
.projects-toolbar { margin-bottom:var(--s-4); }
.projects-toolbar .hint { margin:0; }
.projects-workspace .btn { min-height:44px; height:auto; padding-block:var(--s-2); white-space:normal; }
.projects-workspace .btn:not(.btn-primary) { --btn-bd:var(--input-border); }
.projects-workspace .input { width:100%; max-width:100%; min-width:0; min-height:44px; }
.projects-workspace .field { min-width:0; margin:0; }
.projects-workspace .hint { color:var(--muted); font-size:var(--fs-sm); }
.projects-workspace :focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.projects-notice { border:1px solid var(--border-strong); border-radius:var(--r-sm); background:var(--surface-2); padding:var(--s-3) var(--s-4); color:var(--text-2); }
.projects-error { color:var(--fail); font-size:var(--fs-sm); margin-block:var(--s-2); }
.projects-list-section { margin-top:var(--s-6); }
.projects-section-heading { display:flex; align-items:baseline; flex-wrap:wrap; justify-content:space-between; gap:var(--s-2) var(--s-4); margin-bottom:var(--s-3); }
.projects-section-heading h2,.projects-section-heading p { margin:0; }
.projects-empty { padding:var(--s-5); background:var(--surface); border:1px solid var(--border-strong); border-radius:var(--r-md); }
.projects-empty p:last-child { margin-bottom:0; }
.projects-list { list-style:none; padding:0; margin:0; border-top:1px solid var(--border-strong); }
.project-item { padding:var(--s-5) 0; border-bottom:1px solid var(--border-strong); min-width:0; }
.project-row { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--s-3); }
.project-name { font-size:var(--fs-lg); margin-bottom:var(--s-1); }
.project-url { color:var(--text-2); font-size:var(--fs-sm); overflow-wrap:anywhere; margin-bottom:var(--s-2); }
.project-state { font-size:var(--fs-sm); font-weight:650; }
.project-state[data-state=healthy],.project-check-state[data-state=healthy] { color:var(--pass); }
.project-state[data-state=review],.project-check-state[data-state=review] { color:var(--warn); }
.project-state[data-state=unavailable],.project-check-state[data-state=unavailable] { color:var(--muted); }
.project-meta { display:flex; flex-wrap:wrap; gap:var(--s-1) var(--s-5); font-size:var(--fs-sm); color:var(--muted); margin-top:var(--s-2); }
.project-details { margin-top:var(--s-3); min-width:0; }
.projects-workspace summary { cursor:pointer; min-height:44px; padding-block:var(--s-3); font-size:var(--fs-sm); font-weight:600; width:fit-content; max-width:100%; }
.project-details[open] > summary { margin-bottom:var(--s-2); }
.project-detail-body { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); padding:var(--s-4); min-width:0; }
.project-detail-body h3 { font-size:var(--fs-md); margin:0 0 var(--s-3); }
.project-detail-body section + section { border-top:1px solid var(--border); margin-top:var(--s-5); padding-top:var(--s-5); }
.project-checks { list-style:none; margin:0; padding:0; }
.project-checks li { padding:var(--s-3) 0; border-bottom:1px solid var(--border); }
.project-checks li:first-child { padding-top:0; }
.project-checks li:last-child { border:0; padding-bottom:0; }
.project-check-heading { display:flex; flex-wrap:wrap; gap:var(--s-1) var(--s-3); justify-content:space-between; font-size:var(--fs-sm); }
.project-check-heading strong { font-weight:600; }
.project-check-state { font-weight:600; }
.project-checks p { font-size:var(--fs-sm); color:var(--text-2); margin:var(--s-1) 0 0; }
.project-evidence-values { display:grid; gap:var(--s-2); margin:var(--s-3) 0 0; font-size:var(--fs-sm); }
.project-evidence-values > div { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); gap:var(--s-1) var(--s-4); }
.project-evidence-values dt { color:var(--muted); overflow-wrap:anywhere; }
.project-evidence-values dd { margin:0; color:var(--text-2); white-space:pre-wrap; overflow-wrap:anywhere; }
.project-settings-list { display:grid; gap:var(--s-3); margin:0 0 var(--s-4); }
.project-settings-list > div { min-width:0; }
.project-settings-list dt { color:var(--muted); font-size:var(--fs-sm); }
.project-settings-list dd { margin:var(--s-1) 0 0; font-size:var(--fs-sm); }
.project-history { list-style:none; padding:0; margin:0; }
.project-history li { border-bottom:1px solid var(--border); padding:var(--s-3) 0; }
.project-history li:first-child { padding-top:0; }
.project-history li:last-child { border:0; padding-bottom:0; }
.project-history time { display:block; color:var(--muted); font-size:var(--fs-xs); margin-bottom:var(--s-1); }
.project-history p { margin-bottom:0; font-size:var(--fs-sm); }
.project-history .project-event-detail { color:var(--text-2); margin-top:var(--s-1); }
.projects-scope { color:var(--muted); font-size:var(--fs-sm); max-width:80ch; padding-top:var(--s-6); }
.projects-secrets { margin-top:var(--s-5); padding:var(--s-5); border-color:var(--input-border); }
.projects-secrets .field { margin-block:var(--s-4); }
.projects-secret-value { resize:vertical; color:var(--text); background:var(--surface-2); overflow-wrap:anywhere; }
.projects-dialog { background:var(--surface); color:var(--text); border:1px solid var(--border-strong); border-radius:var(--r-md); padding:var(--s-5); width:min(42rem,calc(100% - 2rem)); max-width:100%; max-height:calc(100dvh - 2rem); overflow:auto; box-shadow:var(--shadow-lg); }
.projects-dialog::backdrop { background:var(--overlay); }
.projects-dialog-small { width:min(32rem,calc(100% - 2rem)); }
.projects-dialog-head { display:flex; gap:var(--s-3); justify-content:space-between; align-items:flex-start; margin-bottom:var(--s-3); }
.projects-dialog-head h2 { padding-top:var(--s-2); margin:0; }
.projects-dialog-head .btn { flex:none; }
.projects-form { display:grid; gap:var(--s-4); }
.projects-form-pair { display:grid; gap:var(--s-4); min-width:0; }
.projects-form .hint { margin-top:var(--s-2); margin-bottom:0; }
.projects-proof { border-block:1px solid var(--border); padding-block:var(--s-4); }
.projects-proof h3 { font-size:var(--fs-md); }
.projects-proof .hint { margin-bottom:var(--s-3); }
.projects-proof-result { margin-top:var(--s-3); font-size:var(--fs-sm); }
.projects-proof-values { margin:var(--s-3) 0; }
.projects-proof-values dt { margin-top:var(--s-3); color:var(--text-2); }
.projects-proof-values dd { margin:var(--s-1) 0 0; padding:var(--s-2) var(--s-3); border:1px solid var(--border); background:var(--surface-2); font-family:var(--font-mono); font-size:var(--fs-xs); overflow-wrap:anywhere; user-select:all; }
.projects-checkbox { display:flex; gap:var(--s-3); align-items:center; min-height:44px; }
.projects-checkbox input { width:20px; height:20px; flex:none; accent-color:var(--accent); }
.projects-checkbox label { cursor:pointer; min-height:44px; display:flex; align-items:center; }
.projects-delete-target { font-weight:650; }
.projects-browser-verification:empty { display:none; }
.projects-browser-verification { margin-top:var(--s-4); }
@media(min-width:480px) { .projects-form-pair { grid-template-columns:repeat(2,minmax(0,1fr)); }.project-settings-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(min-width:700px) { .project-row { grid-template-columns:minmax(0,1fr) auto; align-items:start; }.project-detail-body { padding:var(--s-5); }.project-settings-list { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:479px) { .projects-toolbar .btn { flex:1 1 auto; }.projects-controls { align-items:stretch; }.projects-controls .btn { flex:1 1 9rem; }.projects-dialog { padding:var(--s-4); width:calc(100% - 1rem); max-height:calc(100dvh - 1rem); }.projects-secrets { padding:var(--s-4); }.project-evidence-values > div { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .projects-workspace .btn { transition:none; } }
