/* Intern requirements section styles. Loaded by charlie.html and bear.html. */
.reqs-toolbar { display:flex; gap:8px; flex-wrap:wrap; margin:14px 0; }
.reqs-btn { background:var(--accent); color:#000; border:none; border-radius:6px;
            padding:8px 14px; font-weight:600; font-size:13px; cursor:pointer; }
.reqs-btn.primary { background:var(--accent); color:#000; }
.reqs-btn.ghost { background:var(--soft); color:var(--accent); border:1px solid var(--line); }
.reqs-btn:hover { filter:brightness(1.08); }

.reqs-bucket { background:var(--card); border:1px solid var(--line); border-radius:10px;
               padding:18px 20px; margin:14px 0; }
.reqs-bucket.sub { background:var(--soft); }
.reqs-bucket h4 { margin:0 0 8px; font-size:15px; color:var(--ink); display:flex; align-items:center; gap:8px; }
.reqs-bucket .reqs-helper { color:var(--mute); font-size:12px; margin:0 0 12px; }
.reqs-count { background:var(--soft); color:var(--accent); padding:1px 8px; border-radius:99px;
              font-size:11px; font-weight:600; }
.reqs-empty { color:var(--mute); font-size:12px; padding:8px 0; }

.reqs-row { background:var(--bg); border:1px solid var(--line); border-radius:8px;
            padding:12px 14px; margin:8px 0; }
.reqs-row.consolidated { border-color:var(--accent); }
.reqs-row-head { display:flex; gap:6px; align-items:center; flex-wrap:wrap; margin-bottom:6px; }
.reqs-pill { display:inline-block; padding:2px 8px; border-radius:99px; font-size:10px;
             font-weight:600; letter-spacing:.04em; text-transform:uppercase;
             background:var(--soft); color:var(--mute); }
.reqs-pill.priority-must { background:rgba(255,122,89,.18); color:var(--bad); }
.reqs-pill.priority-should { background:rgba(74,217,145,.18); color:var(--good); }
.reqs-pill.priority-could { background:rgba(255,184,74,.18); color:var(--warn); }
.reqs-pill.priority-wont { background:var(--soft); color:var(--mute); text-decoration:line-through; }
.reqs-pill.cat { background:rgba(108,194,255,.12); color:var(--accent); }
.reqs-pill.status-open { background:var(--soft); color:var(--mute); }
.reqs-pill.status-consolidated { background:rgba(108,194,255,.18); color:var(--accent); }
.reqs-pill.status-building { background:rgba(255,184,74,.18); color:var(--warn); }
.reqs-pill.status-shipped { background:rgba(74,217,145,.18); color:var(--good); }
.reqs-pill.agreement-unanimous { background:rgba(74,217,145,.18); color:var(--good); }
.reqs-pill.agreement-disagreement { background:rgba(255,122,89,.18); color:var(--bad); }
.reqs-pill.agreement-single_expert { background:var(--soft); color:var(--mute); }
.reqs-pill.order { background:rgba(108,194,255,.12); color:var(--accent); }

.reqs-text { font-size:14px; color:var(--ink); padding:6px 0; outline:none;
             border-bottom:1px dashed transparent; line-height:1.5; }
.reqs-text:focus { border-bottom-color:var(--accent); }
.reqs-rationale { font-size:12px; color:var(--mute); padding:4px 0; outline:none;
                  font-style:italic; border-bottom:1px dashed transparent; }
.reqs-rationale:focus { border-bottom-color:var(--accent); color:var(--ink); }
.reqs-rationale.empty:before { content: attr(data-placeholder); color:var(--mute); }
.reqs-rationale.empty:not(:empty):before { content: none; }

.reqs-row-foot { display:flex; gap:6px; align-items:center; margin-top:8px; flex-wrap:wrap; }
.reqs-row-foot select, .reqs-row-foot input {
  background:var(--soft); border:1px solid var(--line); color:var(--ink);
  border-radius:4px; padding:4px 6px; font-size:11px; font-family:inherit;
}
.reqs-source { font-size:10px; color:var(--mute); margin-left:auto; font-family:ui-monospace,monospace; }
.reqs-source.manual { color:var(--warn); }
.reqs-mini { background:transparent; border:1px solid var(--line); color:var(--mute);
             border-radius:4px; width:22px; height:22px; cursor:pointer; font-size:14px;
             padding:0; line-height:1; margin-left:auto; }
.reqs-mini:hover { border-color:var(--bad); color:var(--bad); }

.reqs-error { background:rgba(255,122,89,.08); border:1px solid var(--bad);
              border-radius:6px; padding:10px; color:var(--bad); font-size:13px; }
