/* Public Labour Law Library — Sankhla.com
   Uses the existing Sankhla palette from theme.css. */

.library-hero{
  padding:104px 0 66px;
  background:
    radial-gradient(circle at 88% 10%,rgba(47,140,255,0.12),transparent 28%),
    linear-gradient(180deg,#fbfcfa 0%,#F2F8FF 100%);
  border-bottom:1px solid var(--line);
}
.library-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:56px;
  align-items:end;
}
.library-hero h1{max-width:900px}
.library-hero .hero-lead{max-width:820px}
.library-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.library-live-card{
  padding:24px;
  background:var(--navy);
  color:#fff;
  border-radius:12px;
  box-shadow:var(--shadow);
}
.library-live-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.library-live-card__eyebrow{
  color:#A7D3FF;
  font-size:10px;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.library-live-card__status{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800}
.library-status-dot{width:8px;height:8px;border-radius:50%;background:#f2b94b;box-shadow:0 0 0 4px rgba(242,185,75,.12)}
.library-status-dot.is-live{background:#45dc9d;box-shadow:0 0 0 4px rgba(69,220,157,.12)}
.library-live-card h2{margin:22px 0 10px;color:#fff;font-size:28px;letter-spacing:-.03em}
.library-live-card p{margin:0;color:#bfd1db;font-size:13px}
.library-live-card__meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  margin:22px -24px -24px;
  background:rgba(255,255,255,.11);
  border-top:1px solid rgba(255,255,255,.11);
}
.library-live-card__meta div{padding:15px 24px;background:rgba(255,255,255,.035)}
.library-live-card__meta span,.library-live-card__meta strong{display:block}
.library-live-card__meta span{color:#A7D3FF;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.library-live-card__meta strong{margin-top:4px;color:#fff;font-size:12px}

.library-app-section{padding:70px 0 86px;background:#fff;border-bottom:1px solid var(--line)}
.library-app{display:grid;gap:22px}
.library-app-intro{display:flex;align-items:end;justify-content:space-between;gap:32px}
.library-app-intro h2{font-size:clamp(34px,4vw,54px)}
.library-app-intro p{max-width:620px;margin:0;color:var(--muted);font-size:14px}
.library-modules{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
}
.library-module{
  min-height:112px;
  padding:15px;
  border:1px solid #c9d5da;
  border-radius:9px;
  background:#fbfcfa;
  text-align:left;
  cursor:pointer;
  transition:.18s ease;
}
.library-module:hover{border-color:#A7D3FF;transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,45,107,0.07)}
.library-module.is-active{border-color:var(--blue-2);background:var(--blue-pale);box-shadow:inset 0 0 0 1px var(--blue-2)}
.library-module__name{display:block;font-size:13px;font-weight:850;line-height:1.25}
.library-module__copy{display:block;margin-top:6px;color:#56666f;font-size:10px;line-height:1.45}
.library-module__count{display:block;margin-top:11px;color:var(--blue-3);font-size:10px;font-weight:850}

.library-filterbar{
  display:grid;
  grid-template-columns:minmax(260px,1.6fr) minmax(180px,.8fr) minmax(150px,.62fr) auto;
  gap:10px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f5f8f8;
}
.library-field{display:grid;gap:5px}
.library-field label{color:#596972;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.library-field input,.library-field select{
  width:100%;
  min-height:46px;
  padding:10px 12px;
  border:1px solid #c6d2d7;
  border-radius:7px;
  background:#fff;
  color:var(--ink);
  outline:0;
}
.library-field input:focus,.library-field select:focus{border-color:var(--blue-2);box-shadow:0 0 0 3px rgba(47,140,255,0.1)}
.library-clear{
  align-self:end;
  min-height:46px;
  padding:10px 15px;
  border:1px solid #c6d2d7;
  border-radius:7px;
  background:#fff;
  color:#46545d;
  font-weight:800;
  cursor:pointer;
}
.library-clear:hover{border-color:var(--blue-2);color:var(--blue-3)}

.library-summarybar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:30px;
  color:#63747d;
  font-size:11px;
}
.library-summarybar strong{color:var(--ink)}
.library-sync{display:flex;align-items:center;gap:7px}
.library-sync-dot{width:6px;height:6px;border-radius:50%;background:#a9b8bf}
.library-sync-dot.is-live{background:#33aa72}

.library-results{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.library-record{
  display:flex;
  flex-direction:column;
  min-height:286px;
  padding:20px;
  border:1px solid #cbd6db;
  border-radius:10px;
  background:#fff;
  transition:.18s ease;
}
.library-record:hover{transform:translateY(-2px);border-color:#A7D3FF;box-shadow:0 16px 34px rgba(11,45,107,0.08)}
.library-record__top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.library-record__state{color:var(--blue-3);font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.library-record__badge{
  padding:4px 7px;
  border-radius:999px;
  background:#F2F8FF;
  color:#466577;
  font-size:9px;
  font-weight:850;
}
.library-record h3{margin:20px 0 10px;font-size:21px;line-height:1.14;letter-spacing:-.025em}
.library-record__summary{margin:0;color:#63737c;font-size:12px}
.library-record__facts{display:grid;gap:5px;margin:16px 0 0}
.library-record__fact{display:flex;justify-content:space-between;gap:12px;padding-top:6px;border-top:1px solid #edf1f3;font-size:10px}
.library-record__fact span{color:#718089}
.library-record__fact strong{text-align:right}
.library-record__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:18px}
.library-record__date{color:#7b8990;font-size:10px}
.library-record__details{
  border:0;background:none;color:var(--blue-3);padding:0;font-size:11px;font-weight:850;cursor:pointer
}

.library-empty,.library-loading,.library-error{
  grid-column:1/-1;
  padding:38px;
  border:1px dashed #bccbd2;
  border-radius:10px;
  text-align:center;
  background:#f9fbfb;
}
.library-empty h3,.library-error h3{margin:0 0 8px;font-size:22px}
.library-empty p,.library-error p{max-width:680px;margin:0 auto;color:#65757e;font-size:13px}
.library-loading{display:grid;place-items:center;min-height:180px;color:#687983;font-size:12px}
.library-spinner{width:28px;height:28px;margin-bottom:12px;border:3px solid #A7D3FF;border-top-color:var(--blue-2);border-radius:50%;animation:library-spin .75s linear infinite}
@keyframes library-spin{to{transform:rotate(360deg)}}

.library-pagination{display:flex;justify-content:center;align-items:center;gap:10px;padding-top:4px}
.library-page-btn{
  min-width:42px;min-height:42px;padding:8px 12px;border:1px solid #c8d3d8;border-radius:7px;background:#fff;cursor:pointer;font-weight:800
}
.library-page-btn:disabled{opacity:.4;cursor:not-allowed}
.library-page-btn:not(:disabled):hover{border-color:var(--blue-2);color:var(--blue-3)}
.library-page-info{color:#687983;font-size:11px}

.library-trust{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin-top:4px;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:var(--line);
}
.library-trust article{padding:22px;background:#f8fbfb}
.library-trust strong{display:block;font-size:13px}
.library-trust p{margin:7px 0 0;color:#687983;font-size:11px}

.library-dialog{
  width:min(930px,calc(100% - 28px));
  max-height:88vh;
  padding:0;
  border:0;
  border-radius:13px;
  color:var(--ink);
  background:#fff;
  box-shadow:0 35px 110px rgba(11,45,107,0.3);
}
.library-dialog::backdrop{background:rgba(11,45,107,0.68);backdrop-filter:blur(4px)}
.library-dialog__head{display:flex;justify-content:space-between;gap:20px;padding:24px 26px;border-bottom:1px solid var(--line);background:#F2F8FF}
.library-dialog__eyebrow{margin:0 0 7px;color:var(--blue-3);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.library-dialog h2{font-size:30px}
.library-dialog__close{
  flex:0 0 auto;width:38px;height:38px;border:1px solid #cbd6da;border-radius:50%;background:#fff;cursor:pointer;font-size:20px
}
.library-dialog__body{padding:25px 26px 30px;overflow:auto;max-height:calc(88vh - 90px)}
.library-dialog__summary{margin:0 0 20px;color:#5e6e77}
.library-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}
.library-detail-fact{padding:12px 14px;border:1px solid #d8e2e6;border-radius:8px;background:#fbfcfc}
.library-detail-fact span,.library-detail-fact strong{display:block}
.library-detail-fact span{color:#72828b;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.library-detail-fact strong{margin-top:5px;font-size:13px}
.library-table-wrap{overflow:auto;margin:18px 0;border:1px solid #d2dde1;border-radius:9px}
.library-table{width:100%;border-collapse:collapse;min-width:620px}
.library-table th,.library-table td{padding:11px 12px;border-bottom:1px solid #e1e8eb;text-align:left;font-size:11px;vertical-align:top}
.library-table th{background:#F2F8FF;color:#496170;font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.library-table tr:last-child td{border-bottom:0}
.library-notes{margin:18px 0;padding:15px 17px;border-left:3px solid var(--blue-2);background:#F2F8FF;color:#52636d;font-size:12px}
.library-source{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:17px;border:1px solid #cad8de;border-radius:9px;background:#f9fbfb}
.library-source small,.library-source strong{display:block}
.library-source small{color:#71818a;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.library-source strong{margin-top:4px;font-size:12px}
.library-source a{white-space:nowrap;color:var(--blue-3);font-size:11px;font-weight:850}
.library-disclaimer{margin-top:18px;color:#78868d;font-size:10px;line-height:1.55}

.library-guides .service-card{min-height:260px}
.library-guides .service-card h3{margin-top:42px}
.library-guides .service-card p{min-height:70px}

@media(max-width:1180px){
  .library-modules{grid-template-columns:repeat(4,minmax(0,1fr))}
  .library-results{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
  .library-hero{padding:84px 0 52px}
  .library-hero-grid{grid-template-columns:1fr;gap:30px}
  .library-app-intro{display:block}
  .library-app-intro p{margin-top:12px}
  .library-modules{grid-template-columns:repeat(2,minmax(0,1fr))}
  .library-filterbar{grid-template-columns:1fr 1fr}
  .library-clear{align-self:stretch}
  .library-trust{grid-template-columns:1fr}
}
@media(max-width:620px){
  .library-modules,.library-results,.library-filterbar,.library-detail-grid{grid-template-columns:1fr}
  .library-module{min-height:auto}
  .library-filterbar{padding:12px}
  .library-summarybar{align-items:flex-start;flex-direction:column}
  .library-live-card__meta{grid-template-columns:1fr}
  .library-record{min-height:250px}
  .library-dialog__head,.library-dialog__body{padding-left:18px;padding-right:18px}
  .library-source{grid-template-columns:1fr}
}
