/* ============================================================================
   AIPATH — the document library
   ----------------------------------------------------------------------------
   Loaded after styles.css, which supplies the tokens, the reset and the
   buttons. A reading list rather than a grid of tiles: a document is chosen by
   its title and its first sentence, not by its thumbnail, so each row gets the
   width to say what it is.
   ========================================================================== */

.docs-head{padding-bottom:0}
.docs-head .section-title{margin-top:0}
.docs-body{padding-top:clamp(28px,4vw,44px)}

/* ---- Controls ---- */
.docs-controls{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin-top:clamp(28px,4vw,42px);padding-top:26px;border-top:1px solid var(--line);
}
.docs-search{
  display:flex;align-items:center;gap:9px;flex:1 1 260px;max-width:340px;
  background:var(--surface);border:1px solid var(--line-2);border-radius:999px;
  padding:0 16px;transition:border-color .2s;
}
.docs-search:focus-within{border-color:var(--accent)}
.docs-search svg{flex:none;color:var(--ink-faint)}
.docs-search input{
  flex:1;min-width:0;background:transparent;border:0;outline:none;
  font-family:inherit;font-size:.9rem;color:var(--ink);padding:11px 0;
}
.docs-search input::placeholder{color:var(--ink-faint)}
.docs-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}

.docs-filters{display:flex;gap:7px;flex-wrap:wrap}
.docs-pill{
  background:transparent;border:1px solid var(--line-2);border-radius:999px;
  padding:8px 15px;font-size:.82rem;font-weight:500;color:var(--ink-soft);
  transition:border-color .2s,color .2s,background .2s;
}
.docs-pill:hover{border-color:var(--accent);color:var(--accent)}
.docs-pill.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.docs-count{
  margin-left:auto;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-faint);white-space:nowrap;
}

/* ---- The list ---- */
.docs-list{display:flex;flex-direction:column;gap:14px}
.doc-card{
  display:flex;gap:clamp(16px,2.4vw,26px);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(22px,3vw,30px);
  transition:border-color .3s var(--t),transform .3s var(--t),box-shadow .3s;
}
.doc-card:hover{border-color:var(--line-2);transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.doc-card-request{border-style:dashed}
.doc-card-request:hover{border-color:var(--warm)}

.doc-icon{
  flex:none;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  background:var(--accent-soft);color:var(--accent);border:1px solid var(--line);
}
.doc-card-request .doc-icon{background:var(--warm-soft);color:var(--warm)}

.doc-main{flex:1;min-width:0}
.doc-titles h2{
  font-family:var(--font-display);font-weight:500;letter-spacing:-.008em;line-height:1.2;
  font-size:clamp(1.18rem,2.1vw,1.5rem);
}
.doc-sub{
  margin-top:5px;font-size:.78rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
  color:var(--warm);
}
.doc-summary{
  margin-top:13px;font-size:.95rem;color:var(--ink-soft);line-height:1.65;max-width:78ch;
}

.doc-meta{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;
  font-size:.76rem;color:var(--ink-faint);
}
.doc-meta > span{
  border:1px solid var(--line);border-radius:999px;padding:4px 11px;white-space:nowrap;
}
.doc-cat{color:var(--accent);border-color:var(--accent) !important;background:var(--accent-soft)}
.doc-locked{
  display:inline-flex;align-items:center;gap:6px;
  color:var(--warm) !important;border-color:var(--warm) !important;background:var(--warm-soft);
  font-weight:600;
}
.doc-locked svg{flex:none}

.doc-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.doc-btn{padding:.72em 1.3em;font-size:.86rem}
.doc-alt{
  font-size:.8rem;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:var(--line-2);transition:color .2s,text-decoration-color .2s;
}
a.doc-alt:hover{color:var(--accent);text-decoration-color:var(--accent)}
.doc-alt-note{
  text-decoration:none;color:var(--ink-faint);max-width:52ch;line-height:1.5;
}

/* ---- Empty and footer notes ---- */
.docs-empty{
  font-size:.96rem;color:var(--ink-soft);line-height:1.7;max-width:64ch;
  background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--radius);
  padding:26px 28px;
}
.docs-empty a,.docs-foot a{
  color:var(--accent);text-decoration:underline;text-underline-offset:3px;
}
.docs-foot{
  margin-top:26px;padding-top:22px;border-top:1px solid var(--line);
  font-size:.86rem;color:var(--ink-faint);line-height:1.7;max-width:78ch;
}
.docs-foot b{color:var(--warm);font-weight:600}

@media (max-width:640px){
  .docs-count{margin-left:0;width:100%}
  .doc-card{flex-direction:column;gap:16px}
  .doc-actions .doc-btn{flex:1 1 auto;justify-content:center}
}
