/* ============ Project Docs library (module: docs) — all classes lib- prefixed ============
   Warm-paper institutional. Uses ONLY the app.css custom properties for color/type. */

/* ---- loading / empty / error states ---- */
.lib-loading{display:flex;align-items:center;gap:10px;color:var(--mute);font-size:13px;}
.lib-spin{width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:lib-rot .7s linear infinite;flex:none;}
@keyframes lib-rot{to{transform:rotate(360deg);}}
.lib-empty{text-align:center;color:var(--mute);padding:44px 20px;font-size:13px;line-height:1.6;}

/* ---- VIEW 1 — folder grid ---- */
.lib-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.lib-card{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;cursor:pointer;outline:none;transition:transform .18s,box-shadow .18s,border-color .18s;}
.lib-card:hover,.lib-card:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.lib-card:focus-visible{border-color:var(--gold);}
.lib-card__cover{position:relative;height:150px;background:var(--ink);}
.lib-card__img{width:100%;height:100%;object-fit:cover;display:block;}
.lib-card__shade{position:absolute;inset:0;background:linear-gradient(180deg, rgba(21,24,28,.1), rgba(21,24,28,.62));}
.lib-card__title{position:absolute;left:20px;right:20px;bottom:13px;font-family:var(--serif);font-size:21px;font-weight:600;color:#fff;letter-spacing:-.01em;line-height:1.2;text-shadow:0 1px 10px rgba(21,24,28,.5);}
.lib-card__body{padding:14px 20px 16px;}
.lib-card__sub{font-size:12.5px;color:var(--mute);line-height:1.55;min-height:38px;}
.lib-card__chips{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.lib-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.03em;padding:3px 10px;border-radius:20px;background:var(--panel);border:1px solid var(--line);color:var(--body);}

/* ---- VIEW 2 — folder banner ---- */
.lib-banner{position:relative;height:92px;border-top:3px solid var(--gold);background:var(--ink);overflow:hidden;}
.lib-banner__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.lib-banner__shade{position:absolute;inset:0;background:linear-gradient(180deg, rgba(21,24,28,.1), rgba(21,24,28,.62));}
.lib-banner__inner{position:absolute;inset:0;display:flex;align-items:center;gap:16px;padding:0 20px;}
.lib-back{flex:none;font-family:var(--sans);font-size:12px;font-weight:600;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:var(--r-sm);padding:6px 12px;white-space:nowrap;transition:background .18s,border-color .18s;}
.lib-back:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.5);}
.lib-banner__text{min-width:0;}
.lib-banner__title{font-family:var(--serif);font-size:19px;font-weight:600;color:#fff;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 8px rgba(21,24,28,.5);}
.lib-banner__sub{font-size:12px;color:rgba(255,255,255,.82);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ---- sticky toolbar ---- */
.lib-toolbar{position:sticky;top:0;z-index:5;background:var(--paper);padding:12px 14px;border:1px solid var(--line);border-bottom:1px solid var(--rule);border-radius:0 0 var(--r) var(--r);box-shadow:var(--shadow);display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;}
.lib-chips{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.lib-sep{width:1px;height:22px;background:var(--line);flex:none;}
.lib-count{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--mute);letter-spacing:.04em;white-space:nowrap;}

/* ---- doc list ---- */
.lib-list{overflow:hidden;}
.lib-row{display:flex;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid var(--line);cursor:pointer;outline:none;transition:background .18s;}
.lib-row:hover,.lib-row:focus-visible{background:var(--panel);}
.lib-row.lib-row--last{border-bottom:none;}
.lib-row__ic{flex:none;color:var(--gold);display:grid;place-items:center;}
.lib-doc-ic{width:19px;height:19px;display:block;}
.lib-row__main{flex:1;min-width:0;}
.lib-row__title{font-size:13.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lib-row__meta{display:flex;align-items:center;gap:8px;flex:none;}
.lib-size{font-size:11px;color:var(--mute);min-width:54px;text-align:right;}
.lib-row__acts{display:flex;gap:7px;flex:none;}

/* ---- lang badges (EN gold-soft / AR green-soft) ---- */
.lib-lang{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.05em;padding:2px 9px;border-radius:20px;}
.lib-lang.lib-lang--en{background:var(--gold-soft);color:var(--gold);}
.lib-lang.lib-lang--ar{background:var(--grn-soft);color:var(--grn);}

/* ---- release status badge + Drive chip (v1.63.0) ---- */
.lib-status{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.05em;padding:2px 9px;border-radius:20px;white-space:nowrap;}
.lib-status--sup{background:var(--panel-2);color:var(--gold-deep);border:1px solid var(--rule);}
.lib-drive{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.03em;padding:2px 9px;border-radius:20px;background:var(--paper);border:1px solid var(--line);color:var(--blue);cursor:pointer;white-space:nowrap;transition:.12s;}
.lib-drive:hover{border-color:var(--blue);background:#fff;}

/* ---- preview drawer (rides on the existing .drawer / .drawer-bg) ---- */
.lib-drawer{width:820px;max-width:94vw;overflow:hidden;display:flex;flex-direction:column;}
.lib-drawer__hd{flex:none;}
.lib-drawer__t{font-family:var(--serif);font-size:16px;font-weight:600;color:var(--ink);line-height:1.3;padding-right:44px;}
.lib-drawer__m{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap;}
.lib-drawer__bd{padding:0;flex:1;min-height:0;}
.lib-note{padding:16px 22px;font-size:12.5px;color:var(--mute);}
.lib-note--err{color:var(--red);font-weight:500;}
.lib-frame{display:block;width:100%;height:calc(100vh - 90px);border:0;background:var(--panel);}

/* ---- responsive ---- */
@media(max-width:1100px){
  .lib-grid{grid-template-columns:1fr;}
  .lib-row__meta .lib-size{display:none;}
  .lib-count{display:none;}
}

/* Post to Company OS */
.lib-postbar{display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin-bottom:16px;padding:12px 16px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;}
.lib-postbar__t{font-size:12.5px;color:var(--mute);font-weight:500;}
.lib-upload{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:60;
  width:min(460px,92vw);max-height:88vh;overflow:auto;background:var(--panel);border:1px solid var(--line);
  border-radius:16px;padding:22px 22px 18px;box-shadow:0 24px 60px rgba(0,0,0,.28);}
.lib-upload__hd{font-family:var(--serif,Lora,serif);font-size:19px;font-weight:600;color:var(--ink);}
.lib-upload__note{font-size:12px;color:var(--mute);margin:6px 0 16px;line-height:1.5;}
.lib-upload__l{display:block;font-size:11px;font-weight:600;color:var(--mute);text-transform:uppercase;
  letter-spacing:.04em;margin:12px 0 5px;}
.lib-upload input[type=text],.lib-upload select,.lib-upload input[type=file]{width:100%;box-sizing:border-box;
  padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);
  color:var(--ink);font-family:var(--sans);font-size:13.5px;}
.lib-upload input[type=text]:focus,.lib-upload select:focus{outline:none;border-color:var(--gold);}
.lib-upload__row{display:flex;gap:12px;}
.lib-upload__msg{min-height:16px;font-size:12px;color:#b3261e;margin-top:12px;}
.lib-upload__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;}
