/* ==============================
   SIS – Public CSS
============================== */
.sis-public{
  max-width: 1150px;
  margin: 12px auto;
  background:#fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 12px 30px rgba(2,6,23,.06);
}

.sis-public-head{margin-bottom: 10px}
.sis-public-title{font-size:26px;font-weight: 900; color:#0f172a; margin-bottom:6px}

.sis-public-breadcrumb{font-size:13px;font-weight:800;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sis-public-breadcrumb a{color:#2563eb;text-decoration:none}
.sis-public-breadcrumb a:hover{text-decoration:underline}
.sis-public-breadcrumb span{color:#64748b}

.sis-public-search{margin-top:10px}
.sis-public-search-input{
  width:100%;
  max-width: 420px;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  font-weight: 800;
}
.sis-public-search-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12)}

.sis-public-search-results{
  margin-top: 10px;
  border-top: 1px dashed #e5e7eb;
  padding-top: 10px;
}
.sis-search-item{
  padding: 10px 12px;
  border-radius: 12px;
  cursor:pointer;
  font-weight: 900;
}
.sis-search-item:hover{background:#f1f5f9}
.sis-search-path{display:block;font-size:12px;color:#64748b;font-weight:800;margin-top:2px}

.sis-public-accordion details{margin:8px 0; border-radius: 14px; overflow:hidden;}
.sis-public-accordion summary{
  cursor:pointer; display:flex; justify-content:space-between; align-items:center;
  padding: 14px 16px;
  font-weight: 900;
  font-size: 20px;
  list-style:none;
  user-select:none;
}
summary::-webkit-details-marker{display:none}
.sis-sum-left{display:flex;gap:10px;align-items:center}
.sis-arrow{transition:.18s ease;font-weight:900}
details[open] > summary .sis-arrow{transform:rotate(180deg)}

details.sis-level-1 > summary{background:#cfd6df}
details.sis-level-2 > summary{background:#dfe6ee}
details.sis-level-3 > summary{background:#eef3f8}
details.sis-level-4 > summary{background:#f6f8fb}
details.sis-level-5 > summary{background:#fafbfd}

.sis-children{padding: 10px 0 6px 16px}

.sis-files{margin: 4px 0 10px 0; padding: 0 0 0 6px;}
.sis-files li{
  list-style:none; display:flex; align-items:center; gap:10px;
  margin: 8px 0;
}
.sis-file-link{
  text-decoration:none; font-weight: 800; color:#111827; word-break: break-word;
}
.sis-file-link:hover{text-decoration:underline}
.sis-icon{width:34px;height:34px;flex:0 0 auto}

.sis-public-error{
  max-width: 900px;
  margin: 12px auto;
  background:#fef2f2;
  border: 1px solid #fecaca;
  color:#7f1d1d;
  padding: 12px 14px;
  border-radius: 14px;
  font-weight: 900;
}

/* Grid mode */
.sis-public-grid .sis-grid-folders{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
  margin-top: 10px;
}
@media(max-width: 980px){ .sis-public-grid .sis-grid-folders{grid-template-columns: repeat(2, minmax(0,1fr));} }
@media(max-width: 520px){ .sis-public-grid .sis-grid-folders{grid-template-columns: repeat(1, minmax(0,1fr));} }

.sis-grid-card{
  display:flex; align-items:center; gap:12px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 14px 14px;
  text-decoration:none;
  color:#0f172a;
  font-weight: 900;
  background: #fff;
  box-shadow: 0 12px 25px rgba(2,6,23,.04);
}
.sis-grid-card:hover{transform: translateY(-1px); box-shadow: 0 16px 30px rgba(2,6,23,.06);}

.sis-grid-card span{display:block}
.sis-grid-block-title{font-weight: 900; font-size: 16px; margin: 14px 0 10px}


/* Deep-link highlight */
.sis-deeplink-highlight{
  outline: 3px solid rgba(37,99,235,.35);
  box-shadow: 0 0 0 6px rgba(37,99,235,.12);
}


/* ==============================
   Toolbar (toggle vista)
============================== */
.sis-public-toolbar{display:flex; justify-content:flex-end; margin:8px 0 6px 0;}
.sis-view-toggle{display:inline-flex; gap:8px; background:#f1f5f9; border:1px solid #e2e8f0; padding:6px; border-radius:14px;}
.sis-view-btn{border:0; background:transparent; padding:8px 12px; border-radius:12px; font-weight:900; cursor:pointer; color:#0f172a;}
.sis-view-btn.is-active{background:#ffffff; box-shadow:0 6px 16px rgba(2,6,23,.08);}

/* ==============================
   Vista GRID/LIST (sin recarga)
============================== */
.sis-view-grid .sis-files{display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:12px; padding:10px 4px;}
.sis-view-grid .sis-files li{background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:12px; margin:0; align-items:flex-start;}
.sis-view-grid .sis-files a{display:block;}
.sis-view-grid .sis-icon{width:42px;height:42px;}

.sis-view-list .sis-files{display:block; padding:0 0 0 6px;}

/* highlights */
.sis-deeplink-highlight{outline:3px solid rgba(37,99,235,.25); box-shadow:0 0 0 6px rgba(37,99,235,.12) inset;}
.sis-file-highlight{background:#fde68a !important;}


/* ==============================
   Toolbar (toggle vista)
============================== */
.sis-public-toolbar{display:flex; justify-content:flex-end; margin:8px 0 6px 0;}
.sis-view-toggle{display:inline-flex; gap:8px; background:#f1f5f9; border:1px solid #e2e8f0; padding:6px; border-radius:14px;}
.sis-view-btn{border:0; background:transparent; padding:8px 12px; border-radius:12px; font-weight:900; cursor:pointer; color:#0f172a;}
.sis-view-btn:hover{background:rgba(255,255,255,.7)}
.sis-view-btn.is-active{background:#ffffff; box-shadow:0 6px 16px rgba(2,6,23,.08);}

/* ==============================
   Vista Grid / List
============================== */
/* Base: lista (como estaba) */
.sis-view-list .sis-files{margin-top:6px;}
.sis-view-list .sis-files li{display:flex; align-items:center; gap:10px; padding:6px 8px; border-radius:12px;}
.sis-view-list .sis-files li:hover{background:#f8fafc}

/* Grid */
.sis-view-grid .sis-files{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap:12px;
  padding: 6px 8px;
  margin-top:8px;
}
.sis-view-grid .sis-files li{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 12px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#ffffff;
  box-shadow:0 10px 22px rgba(2,6,23,.05);
}
.sis-view-grid .sis-files li:hover{
  transform: translateY(-1px);
  transition: .12s ease;
}
.sis-view-grid .sis-files a{display:block; line-height:1.2}

/* Highlight */
.sis-deeplink-highlight{
  outline: 3px solid rgba(37,99,235,.35);
  box-shadow:0 10px 22px rgba(37,99,235,.12);
}
.sis-file-highlight{background:#fde68a !important;}
