:root{
  --cou-red:#890505;
  --cou-black:#111;
  --cou-gray:#f3f5f7;
  --cou-border:#e3e7ea;
  --cou-text:#1b1f23;
  --cou-muted:#5b6670;
  --cou-radius:14px;
}
.elib-container{max-width:1200px;margin:0 auto;padding:18px 14px;}
.elib-grid{display:grid;grid-template-columns: 260px 1fr 300px; gap:16px; align-items:start;}
@media (max-width: 1100px){.elib-grid{grid-template-columns: 1fr;}.elib-aside,.elib-left{order:2}.elib-main{order:1}}
.elib-card{background:#fff;border:1px solid var(--cou-border);border-radius:var(--cou-radius);box-shadow:0 1px 0 rgba(0,0,0,.03);}
.elib-card h2,.elib-card h3{margin:0 0 10px 0;}
.elib-card__hd{padding:14px 14px 0 14px;}
.elib-card__bd{padding:0 14px 14px 14px;}
.elib-pill{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--cou-border);background:var(--cou-gray);font-size:12px;color:var(--cou-muted);}
.elib-btn{appearance:none;border:1px solid var(--cou-border);background:#fff;color:var(--cou-text);padding:9px 12px;border-radius:10px;font-weight:600;cursor:pointer;}
.elib-btn:hover{border-color:#cfd6db}
.elib-btn--primary{background:var(--cou-red);border-color:var(--cou-red);color:#fff;}
.elib-btn--ghost{background:transparent;}
.elib-input, .elib-select, .elib-textarea{width:100%;padding:10px 11px;border-radius:10px;border:1px solid var(--cou-border);background:#fff;}
.elib-row{display:flex;gap:10px;flex-wrap:wrap;}
.elib-row > *{flex:1}
.elib-kv{display:grid;grid-template-columns: 140px 1fr; gap:8px 10px; font-size:13px;}
.elib-kv dt{color:var(--cou-muted);margin:0}
.elib-kv dd{margin:0;color:var(--cou-text)}
.elib-table{width:100%;border-collapse:collapse;font-size:13px;}
.elib-table th,.elib-table td{padding:10px;border-bottom:1px solid var(--cou-border);vertical-align:top;text-align:left;}
.elib-table th{font-size:12px;color:var(--cou-muted);text-transform:uppercase;letter-spacing:.04em;}
.elib-tag{display:inline-block;margin:4px 6px 0 0;padding:4px 8px;border-radius:999px;border:1px solid var(--cou-border);background:var(--cou-gray);font-size:12px;}
.elib-tag--key{border-color:var(--cou-red);color:var(--cou-red);background:#fff7f7;font-weight:700;}
.elib-tag--tax{background:#fff;color:var(--cou-muted);}

.elib-actions{display:flex;gap:8px;flex-wrap:wrap;}
.elib-muted{color:var(--cou-muted);}
.elib-h1{font-size:22px;margin:0}
.elib-small{font-size:12px}
.elib-alert{padding:10px 12px;border-radius:12px;border:1px solid var(--cou-border);background:var(--cou-gray);font-size:13px;color:var(--cou-muted);}
.elib-badge{display:inline-block;padding:4px 8px;border-radius:8px;background:#111;color:#fff;font-size:12px;}
.elib-badge--red{background:var(--cou-red);}
.elib-shelf{display:grid;grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px;}
@media (max-width: 900px){.elib-shelf{grid-template-columns:1fr}}

/* --- Step 2: Navigation safety (breadcrumbs, pagination, safe links) --- */
.elib-breadcrumbs{
  max-width: 1180px;
  margin: 10px auto 0;
  padding: 0 18px;
}
.elib-breadcrumbs__list{
  list-style: none;
  display: flex;
  gap: 10px;
  padding: 10px 12px;
  margin: 0;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  background: #fff;
  align-items: center;
  flex-wrap: wrap;
}
.elib-breadcrumbs__list li{ display:flex; align-items:center; gap:10px; }
.elib-breadcrumbs__list li:not(:last-child)::after{
  content: "›";
  opacity: .55;
}
.elib-bc__link{
  color: #890505;
  font-weight: 700;
  text-decoration: none;
}
.elib-bc__link:hover{ text-decoration: underline; }
.elib-bc__current{ font-weight: 700; }

.elib-pagination{
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.elib-pagination__controls{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}
.elib-pagebtn{
  border: 1px solid rgba(0,0,0,.14);
  background: #fff;
  padding: 8px 10px;
  border-radius: 10px;
  font-weight: 700;
  cursor: pointer;
}
.elib-pagebtn.is-active{
  background: #890505;
  color: #fff;
  border-color: #890505;
}
.elib-pagebtn[disabled], .elib-pagebtn[aria-disabled="true"]{
  opacity: .45;
  cursor: not-allowed;
}
.elib-pagination__meta{
  font-size: 12px;
  opacity: .75;
}

a.elib-link--disabled{
  opacity: .7;
  position: relative;
}
a.elib-link--disabled::after{
  content: "Coming soon";
  margin-left: 8px;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  opacity: .85;
}

.elib-toast{
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%) translateY(10px);
  background: rgba(0,0,0,.88);
  color: #fff;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
  opacity: 0;
  transition: opacity .2s ease, transform .2s ease;
  z-index: 9999;
}
.elib-toast.is-show{
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}


/* Role bar (demo role-based access) */
.elib-rolebar{ display:flex; align-items:center; gap:10px; margin-left:auto; }
.elib-rolebar__chip{ display:flex; align-items:center; gap:8px; padding:6px 10px; border:1px solid rgba(0,0,0,.12); border-radius:999px; background:#fff; }
.elib-select--sm{ padding:6px 10px; font-size:12px; height:32px; }

/* Reader */
.elib-readerbar{ display:flex; flex-direction:column; gap:6px; padding:10px; border:1px solid rgba(0,0,0,.08); border-radius:12px; background:rgba(255,255,255,.7); }
.elib-readerframe{ margin-top:10px; height:70vh; border-radius:12px; overflow:hidden; border:1px solid rgba(0,0,0,.12); background:#fff; }
.elib-readerframe iframe{ width:100%; height:100%; border:0; }

/* Table wrapper */
.elib-tablewrap{ overflow:auto; border:1px solid rgba(0,0,0,.08); border-radius:12px; background:#fff; }
.elib-table{ width:100%; border-collapse:collapse; min-width:720px; }
.elib-table th, .elib-table td{ padding:10px 12px; border-bottom:1px solid rgba(0,0,0,.06); text-align:left; vertical-align:top; }
.elib-table th{ font-size:12px; letter-spacing:.02em; text-transform:uppercase; color:#4a4a4a; background:rgba(0,0,0,.02); }

.elib-btn--disabled{ opacity:.55; cursor:not-allowed; pointer-events:auto; }
