
.ll-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:#eef2f7;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#0f172a}
.ll-sidebar{background:#0f172a;color:#fff;padding:24px 18px}
.ll-brand{font-size:22px;font-weight:800;margin-bottom:20px}
.ll-sidebar a{display:block;color:#cbd5e1;text-decoration:none;padding:12px 14px;border-radius:12px;margin-bottom:8px}
.ll-sidebar a:hover,.ll-sidebar a.is-active{background:#1e293b;color:#fff}
.ll-main{padding:28px}
.ll-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.ll-user-badge{background:#fff;border:1px solid #dbe2ea;padding:10px 14px;border-radius:999px}
.ll-panel,.ll-side-card{background:#fff;border:1px solid #dbe2ea;border-radius:18px;padding:18px;box-shadow:0 6px 18px rgba(15,23,42,.04)}
.ll-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.ll-btn-primary,.ll-actions button{display:inline-block;background:#1d4ed8;color:#fff;text-decoration:none;border:0;padding:11px 16px;border-radius:12px;cursor:pointer}
.ll-btn-light{display:inline-block;background:#fff;color:#0f172a;text-decoration:none;border:1px solid #cbd5e1;padding:10px 14px;border-radius:12px}
.ll-table{width:100%;border-collapse:collapse}.ll-table th,.ll-table td{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left}
.ll-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ll-dossier-form label{display:block;font-weight:700;margin:10px 0 6px}.ll-dossier-form input[type=text],.ll-dossier-form select,.ll-dossier-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;box-sizing:border-box}
.ll-form-section{margin-top:18px;padding-top:12px;border-top:1px solid #e5e7eb}
.ll-tree-editor-wrap{border:1px solid #dbe2ea;border-radius:14px;padding:12px;background:#f8fafc}
.ll-tree-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.ll-muted{color:#64748b;font-size:14px}
.ll-tree-editor .ll-node{background:#fff;border:1px solid #dbe2ea;border-radius:12px;padding:12px;margin-bottom:10px}
.ll-node-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ll-node-handle{cursor:grab;color:#64748b;font-size:18px;padding:4px 6px}.ll-node-title{flex:1;min-width:220px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px}.ll-node-actions button{margin-right:6px}.ll-node-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.ll-attach-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.ll-chip{background:#e2e8f0;border-radius:999px;padding:6px 10px;font-size:13px}.ll-public-toggle{display:flex;align-items:center;gap:8px;font-weight:600}.ll-children{margin-left:28px;margin-top:10px}
.ll-dossier-hero{display:grid;grid-template-columns:260px 1fr;gap:18px;margin-bottom:18px}.ll-dossier-hero-media img,.ll-thumb-placeholder{width:100%;height:220px;object-fit:cover;border-radius:18px;background:#e2e8f0;display:flex;align-items:center;justify-content:center}.ll-meta-row{display:flex;gap:18px;flex-wrap:wrap;color:#334155}
.ll-dossier-grid{display:grid;grid-template-columns:420px 1fr;gap:18px}.ll-left-tree,.ll-right-panels{display:block}.ll-tree,.ll-subtree{list-style:none;padding:0;margin:0}.ll-tree-group{margin-bottom:10px}.ll-tree-link{width:100%;text-align:left;border:0;background:#fff;border:1px solid #dbe2ea;border-radius:12px;padding:10px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;color:#0f172a}.ll-tree-link:hover,.ll-tree-link.is-active{background:#1e293b;color:#fff}.ll-subtree{margin-top:8px;padding-left:18px}.ll-doc-panel{display:none;gap:16px}.ll-doc-panel.is-active{display:grid}.ll-doc-list{display:grid;gap:10px}.ll-doc-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px}.ll-doc-item a{color:#0f172a;text-decoration:none}.ll-doc-item a:hover{background:#1e293b;color:#fff;padding:6px 10px;border-radius:8px}.ll-public-badge{margin-left:auto;background:#dcfce7;color:#166534;border-radius:999px;padding:3px 8px;font-size:12px}.ll-tree-icon{width:20px;text-align:center}
.ll-alert-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;padding:12px;border-radius:12px;margin-bottom:14px}
@media (max-width: 960px){.ll-shell{grid-template-columns:1fr}.ll-sidebar{padding:14px}.ll-main{padding:16px}.ll-grid-2,.ll-dossier-hero,.ll-dossier-grid,.ll-node-meta,.ll-doc-panel.is-active{grid-template-columns:1fr}}


/* Login page */
.ll-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:linear-gradient(135deg,#eef3f8 0%,#dde7f2 100%)}
.ll-login-card{width:min(100%,460px);background:rgba(255,255,255,.96);border:1px solid #dbe2ea;border-radius:22px;box-shadow:0 18px 50px rgba(15,23,42,.10);padding:28px}
.ll-login-brand{font-size:15px;font-weight:700;color:#475569;margin-bottom:8px}
.ll-login-card h1{margin:0 0 18px;font-size:40px;line-height:1.1;color:#0f172a}
.ll-login-card form{display:grid;gap:12px}
.ll-login-card label{display:block;font-weight:700;color:#334155;margin:0}
.ll-login-card input[type=text],.ll-login-card input[type=password]{width:100%;height:48px;border:1px solid #cbd5e1;border-radius:14px;padding:0 14px;box-sizing:border-box;background:#fff}
.ll-login-card input[type=text]:focus,.ll-login-card input[type=password]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.ll-login-card button{width:100%;height:48px;border:0;border-radius:14px;background:#1d4ed8;color:#fff;font-weight:700;cursor:pointer}
.ll-login-card button:hover{background:#1e40af}
.ll-alert.ll-alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;padding:12px;border-radius:12px;margin-bottom:10px}

/* Dashboard cards + user badge */
.ll-user-badge{background:#fff;border:1px solid #dbe2ea;padding:10px 14px;border-radius:999px}
.ll-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px}
.ll-card{background:#fff;border:1px solid #dbe2ea;border-radius:18px;padding:22px;box-shadow:0 6px 18px rgba(15,23,42,.04)}
.ll-card-label{font-size:15px;color:#64748b;font-weight:700;margin-bottom:10px}
.ll-card-value{font-size:44px;line-height:1;font-weight:800;color:#0f172a}
.ll-static-field{width:100%;min-height:46px;display:flex;align-items:center;padding:10px 12px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;box-sizing:border-box}

@media (max-width:960px){
  .ll-cards{grid-template-columns:1fr}
  .ll-login-card h1{font-size:32px}
}

.ll-link-danger{background:none;border:0;color:#b91c1c;cursor:pointer;padding:0;font:inherit}.ll-link-danger:hover{color:#7f1d1d;text-decoration:underline}

.ll-ai-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:12px;box-sizing:border-box;background:#fff;min-height:120px}
.ll-ai-form textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.ll-actions{display:flex;gap:12px;align-items:center;margin-top:12px}
.ll-actions button,.ll-btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:0;border-radius:12px;background:#1d4ed8;color:#fff;text-decoration:none;font-weight:700;cursor:pointer}
.ll-actions button:hover,.ll-btn-primary:hover{background:#1e40af}
.ll-btn-light{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#0f172a;text-decoration:none;font-weight:700}


.ll-search-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0 10px}
.ll-search-form input[type=text]{flex:1 1 380px;min-width:240px;height:46px;border:1px solid #cbd5e1;border-radius:12px;padding:0 14px;background:#fff}
.ll-search-form button{height:46px;border:0;border-radius:12px;background:#1d4ed8;color:#fff;padding:0 18px;font-weight:700;cursor:pointer}
.ll-search-hint,.ll-search-meta{margin:8px 0 16px;color:#475569}
.ll-result-excerpt{margin-top:6px;color:#64748b;font-size:13px;line-height:1.5;max-width:720px}


.ll-page-search{margin-bottom:16px}
.ll-search-form{margin:0}
.ll-search-row{display:flex;gap:10px;align-items:center}
.ll-search-input{flex:1;min-height:44px;border:1px solid #cbd5e1;border-radius:12px;padding:0 14px;background:#fff;color:#0f172a}
.ll-search-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.ll-note{padding:14px 16px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569}
@media (max-width: 768px){.ll-search-row{flex-direction:column;align-items:stretch}}

.ll-hidden-file{display:none}.ll-field-note{font-size:12px;color:#64748b;margin-top:6px}.ll-media-preview img{max-width:220px;height:auto;border-radius:12px;display:block}



.ll-file-input-hidden{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  overflow:hidden !important;
}
.ll-file-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  background:#2563eb;
  color:#fff !important;
  border-radius:12px;
  border:0;
  cursor:pointer;
  text-decoration:none;
  font-weight:700;
  transition:background .15s ease;
}
.ll-file-btn:hover{
  background:#1d4ed8;
  color:#fff !important;
}
.ll-file-name{
  display:block;
  margin-top:8px;
  font-size:13px;
  color:#475569;
  word-break:break-all;
}

.ll-media-picker input[type="file"]{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.ll-file-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:0 18px !important;
  background:#2563eb !important;
  color:#fff !important;
  border-radius:12px !important;
  border:0 !important;
  cursor:pointer !important;
  text-decoration:none !important;
  font-weight:700 !important;
  line-height:1 !important;
}
.ll-file-btn:hover{
  background:#1d4ed8 !important;
  color:#fff !important;
}
.ll-media-picker .ll-file-name{
  display:block;
  margin-top:8px;
  font-size:13px;
  color:#475569;
  word-break:break-all;
}
.ll-media-picker .ll-media-preview img{
  max-width:220px;
  height:auto;
  border-radius:12px;
  display:block;
  margin-bottom:10px;
}

.ll-file-trigger:hover{background:#1d4ed8 !important;color:#fff !important}
.ll-media-picker .ll-file-name{display:block;margin-top:8px;font-size:13px;color:#475569;word-break:break-all}
.ll-media-picker .ll-media-preview img{max-width:220px;height:auto;border-radius:12px;display:block;margin-top:10px}

.ll-file-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:0 18px !important;
  background:#2563eb !important;
  color:#fff !important;
  border-radius:12px !important;
  border:0 !important;
  cursor:pointer !important;
  text-decoration:none !important;
  font-weight:700 !important;
}
.ll-file-btn:hover{background:#1d4ed8 !important;color:#fff !important}
.ll-media-picker .ll-file-name{display:block;margin-top:8px;font-size:13px;color:#475569;word-break:break-all}
.ll-media-picker .ll-media-preview img{max-width:220px;height:auto;border-radius:12px;display:block;margin-top:10px}

.ll-file-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:0 18px !important;
  background:#2563eb !important;
  color:#fff !important;
  border-radius:12px !important;
  border:0 !important;
  cursor:pointer !important;
  text-decoration:none !important;
  font-weight:700 !important;
}
.ll-file-btn:hover{background:#1d4ed8 !important;color:#fff !important}
.ll-media-picker .ll-file-name{display:block;margin-top:8px;font-size:13px;color:#475569;word-break:break-all}
.ll-media-picker .ll-media-preview img{max-width:220px;height:auto;border-radius:12px;display:block;margin-top:10px}


.ll-public-card-grid{
  display:grid;
  gap:18px;
}
.ll-public-card{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:22px;
  background:#fff;
  border:1px solid #dbe2ea;
  border-radius:24px;
  padding:18px;
  text-decoration:none;
  color:#0f172a !important;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}
.ll-public-card:hover{
  box-shadow:0 12px 28px rgba(15,23,42,.08);
  transform:translateY(-1px);
}
.ll-public-card-media img,
.ll-public-card-media .ll-thumb-placeholder{
  width:100%;
  height:230px;
  object-fit:cover;
  border-radius:20px;
}
.ll-public-card-media .ll-thumb-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f8fafc;
  border:1px dashed #cbd5e1;
  color:#64748b;
}
.ll-public-card-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ll-public-card-body h4{
  margin:0 0 12px;
  font-size:28px;
  line-height:1.15;
  color:#0f172a;
}
.ll-public-card-body p{
  margin:0 0 18px;
  color:#334155;
  font-size:16px;
  line-height:1.8;
}
.ll-public-card-meta{
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  color:#334155;
  font-size:16px;
}
@media (max-width: 960px){
  .ll-public-card{
    grid-template-columns:1fr;
  }
  .ll-public-card-media img,
  .ll-public-card-media .ll-thumb-placeholder{
    height:210px;
  }
  .ll-public-card-body h4{
    font-size:24px;
  }
}

/* PUBLIC TABLE LAYOUT */
.ll-public-table{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.ll-public-card{
  display:grid !important;
  grid-template-columns:300px 1fr;
  align-items:start;
  gap:24px;
  background:#fff;
  border-radius:20px;
  padding:20px;
  border:1px solid #e2e8f0;
}

.ll-public-card-media img,
.ll-public-card-media .ll-thumb-placeholder{
  width:100%;
  height:240px;
  object-fit:cover;
  border-radius:16px;
}

.ll-public-card-body{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.ll-public-card-body h4{
  margin:0 0 12px;
  font-size:26px;
}

.ll-public-card-body p{
  margin:0 0 16px;
  line-height:1.7;
}

.ll-public-card-meta{
  display:flex;
  gap:20px;
  font-size:15px;
}

@media (max-width:768px){
  .ll-public-card{
    grid-template-columns:1fr;
  }
}

/* force public cards into 2-column row layout */
.ll-public-table{
  display:flex !important;
  flex-direction:column !important;
  gap:20px !important;
}
a.ll-public-card,
.ll-public-card{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  gap:24px !important;
  width:100% !important;
  box-sizing:border-box !important;
}
.ll-public-card-media{
  flex:0 0 320px !important;
  width:320px !important;
  max-width:320px !important;
}
.ll-public-card-body{
  flex:1 1 auto !important;
  min-width:0 !important;
  width:auto !important;
}
.ll-public-card-body h4,
.ll-public-card-body p,
.ll-public-card-meta{
  width:100% !important;
}
@media (max-width: 900px){
  a.ll-public-card,
  .ll-public-card{
    flex-direction:column !important;
  }
  .ll-public-card-media{
    flex:0 0 auto !important;
    width:100% !important;
    max-width:100% !important;
  }
}

/* student public materials true 2-column rows */
.ll-public-table{
  display:flex !important;
  flex-direction:column !important;
  gap:20px !important;
}
.ll-public-row{
  display:grid !important;
  grid-template-columns:320px minmax(0,1fr) !important;
  gap:24px !important;
  align-items:start !important;
  background:#fff !important;
  border:1px solid #dbe2ea !important;
  border-radius:20px !important;
  padding:20px !important;
}
.ll-public-col-image{
  width:320px !important;
  min-width:320px !important;
}
.ll-public-col-image img,
.ll-public-col-image .ll-thumb-placeholder{
  display:block !important;
  width:100% !important;
  height:220px !important;
  object-fit:cover !important;
  border-radius:16px !important;
}
.ll-public-col-text{
  min-width:0 !important;
}
.ll-public-col-text h4{
  margin:0 0 14px !important;
  font-size:26px !important;
  line-height:1.15 !important;
}
.ll-public-col-text h4 a{
  color:#0f172a !important;
  text-decoration:none !important;
}
.ll-public-col-text h4 a:hover{
  color:#1d4ed8 !important;
}
.ll-public-col-text p{
  margin:0 0 16px !important;
  color:#334155 !important;
  line-height:1.8 !important;
}
.ll-public-card-meta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:24px !important;
  color:#334155 !important;
}
@media (max-width: 900px){
  .ll-public-row{
    grid-template-columns:1fr !important;
  }
  .ll-public-col-image{
    width:100% !important;
    min-width:0 !important;
  }
}

/* v5.4.24 student public true table */
.ll-public-table-wrap{
  width:100%;
  overflow-x:auto;
}
table.ll-public-table-real{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 18px !important;
  table-layout:fixed !important;
}
.ll-public-table-real tbody,
.ll-public-table-real tr,
.ll-public-table-real td{
  background:transparent;
}
.ll-public-table-real .ll-public-tr{
  background:#fff !important;
}
.ll-public-table-real .ll-public-td{
  vertical-align:top !important;
  background:#fff !important;
  border-top:1px solid #dbe2ea !important;
  border-bottom:1px solid #dbe2ea !important;
  padding:20px !important;
}
.ll-public-table-real .ll-public-td:first-child{
  width:320px !important;
  border-left:1px solid #dbe2ea !important;
  border-radius:20px 0 0 20px !important;
}
.ll-public-table-real .ll-public-td:last-child{
  border-right:1px solid #dbe2ea !important;
  border-radius:0 20px 20px 0 !important;
}
.ll-public-table-real .ll-public-td-image a{
  display:block !important;
}
.ll-public-table-real .ll-public-td-image img,
.ll-public-table-real .ll-public-td-image .ll-thumb-placeholder{
  display:block !important;
  width:280px !important;
  height:220px !important;
  object-fit:cover !important;
  border-radius:16px !important;
}
.ll-public-table-real .ll-public-td-text h4{
  margin:0 0 14px !important;
  font-size:26px !important;
  line-height:1.15 !important;
}
.ll-public-table-real .ll-public-td-text h4 a{
  color:#0f172a !important;
  text-decoration:none !important;
}
.ll-public-table-real .ll-public-td-text h4 a:hover{
  color:#2563eb !important;
}
.ll-public-table-real .ll-public-td-text p{
  margin:0 0 16px !important;
  color:#334155 !important;
  line-height:1.8 !important;
}
.ll-public-table-real .ll-public-card-meta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:24px !important;
  color:#334155 !important;
}
@media (max-width:900px){
  table.ll-public-table-real, .ll-public-table-real tbody, .ll-public-table-real tr, .ll-public-table-real td{
    display:block !important;
    width:100% !important;
  }
  .ll-public-table-real .ll-public-td:first-child,
  .ll-public-table-real .ll-public-td:last-child{
    border-radius:20px !important;
    border:1px solid #dbe2ea !important;
  }
  .ll-public-table-real .ll-public-td-image{
    margin-bottom:12px !important;
  }
  .ll-public-table-real .ll-public-td-image img,
  .ll-public-table-real .ll-public-td-image .ll-thumb-placeholder{
    width:100% !important;
  }
}

/* spacing fix between image and text */
.ll-public-table-real .ll-public-td-image{
  padding-right:10px !important;
}
.ll-public-table-real .ll-public-td-text{
  padding-left:30px !important;
  border-left:1px solid #e5e7eb !important;
}

/* improve spacing */
.ll-public-table-real .ll-public-td-text h4{
  margin-top:4px !important;
}

/* FORCE SPACING FIX */
.ll-public-table-real .ll-public-td{
  padding:30px !important;
}

.ll-public-table-real .ll-public-td-image{
  width:300px !important;
}

.ll-public-table-real .ll-public-td-image img{
  margin-right:20px !important;
}

.ll-public-table-real .ll-public-td-text{
  padding-left:40px !important;
}

/* ensure visual gap */
.ll-public-table-real .ll-public-td-text{
  border-left:2px solid #e2e8f0 !important;
}

/* extra breathing */
.ll-public-table-real .ll-public-td-text p{
  margin-top:10px !important;
}

/* ===== Student public materials premium layout ===== */
.ll-public-table-wrap{
  width:100%;
  overflow-x:visible !important;
}
table.ll-public-table-real{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 22px !important;
  table-layout:fixed !important;
}
.ll-public-table-real .ll-public-tr{
  background:transparent !important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.ll-public-table-real .ll-public-tr:hover{
  transform:translateY(-2px);
}
.ll-public-table-real .ll-public-td{
  vertical-align:top !important;
  background:#ffffff !important;
  padding:26px !important;
  border-top:1px solid #dbe2ea !important;
  border-bottom:1px solid #dbe2ea !important;
  box-sizing:border-box !important;
}
.ll-public-table-real .ll-public-td:first-child{
  width:340px !important;
  padding-right:18px !important;
  border-left:1px solid #dbe2ea !important;
  border-radius:24px 0 0 24px !important;
}
.ll-public-table-real .ll-public-td:last-child{
  padding-left:34px !important;
  border-left:1px solid #eef2f7 !important;
  border-right:1px solid #dbe2ea !important;
  border-radius:0 24px 24px 0 !important;
}
.ll-public-table-real .ll-public-tr:hover .ll-public-td{
  background:#fbfdff !important;
  box-shadow:0 10px 30px rgba(15,23,42,.05);
}
.ll-public-table-real .ll-public-td-image{
  width:340px !important;
}
.ll-public-image-link{
  display:block !important;
  width:100% !important;
}
.ll-public-table-real .ll-public-td-image img,
.ll-public-table-real .ll-public-td-image .ll-thumb-placeholder{
  display:block !important;
  width:100% !important;
  max-width:290px !important;
  height:220px !important;
  object-fit:cover !important;
  border-radius:18px !important;
  box-shadow:0 10px 26px rgba(15,23,42,.10) !important;
  transition:transform .22s ease, box-shadow .22s ease !important;
}
.ll-public-table-real .ll-public-tr:hover .ll-public-td-image img{
  transform:scale(1.03) !important;
  box-shadow:0 16px 34px rgba(15,23,42,.14) !important;
}
.ll-public-table-real .ll-public-td-image .ll-thumb-placeholder{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f8fafc !important;
  border:1px dashed #cbd5e1 !important;
  color:#64748b !important;
}
.ll-public-table-real .ll-public-td-text{
  min-width:0 !important;
}
.ll-public-table-real .ll-public-td-text h4{
  margin:4px 0 16px !important;
  font-size:28px !important;
  line-height:1.12 !important;
  font-weight:800 !important;
}
.ll-public-table-real .ll-public-td-text h4 a{
  color:#0f172a !important;
  text-decoration:none !important;
  background-image:linear-gradient(currentColor,currentColor) !important;
  background-size:0% 2px !important;
  background-position:0 100% !important;
  background-repeat:no-repeat !important;
  transition:color .18s ease, background-size .18s ease !important;
}
.ll-public-table-real .ll-public-tr:hover .ll-public-td-text h4 a,
.ll-public-table-real .ll-public-td-text h4 a:hover{
  color:#2563eb !important;
  background-size:100% 2px !important;
}
.ll-public-table-real .ll-public-td-text p{
  margin:0 0 20px !important;
  color:#334155 !important;
  line-height:1.78 !important;
  font-size:16px !important;
}
.ll-public-table-real .ll-public-card-meta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:28px !important;
  color:#334155 !important;
  font-size:16px !important;
}
.ll-public-table-real .ll-public-card-meta span strong{
  color:#0f172a !important;
}
@media (max-width: 980px){
  table.ll-public-table-real,
  .ll-public-table-real tbody,
  .ll-public-table-real tr,
  .ll-public-table-real td{
    display:block !important;
    width:100% !important;
  }
  .ll-public-table-real .ll-public-td:first-child,
  .ll-public-table-real .ll-public-td:last-child{
    border-radius:24px !important;
    border:1px solid #dbe2ea !important;
    padding:22px !important;
  }
  .ll-public-table-real .ll-public-td:last-child{
    margin-top:12px !important;
    border-left:1px solid #dbe2ea !important;
  }
  .ll-public-table-real .ll-public-td-image img,
  .ll-public-table-real .ll-public-td-image .ll-thumb-placeholder{
    max-width:100% !important;
    height:220px !important;
  }
}

/* ===== v5.4.28 spacing fix for student public list ===== */
.ll-public-table-real .ll-public-td:first-child{
  width:360px !important;
  padding-right:28px !important;
}
.ll-public-table-real .ll-public-td:last-child{
  padding-left:48px !important;
  border-left:2px solid #e7edf5 !important;
}
.ll-public-table-real .ll-public-td-image{
  width:360px !important;
  min-width:360px !important;
}
.ll-public-table-real .ll-public-image-link{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
}
.ll-public-table-real .ll-public-td-image img,
.ll-public-table-real .ll-public-td-image .ll-thumb-placeholder{
  max-width:300px !important;
  width:300px !important;
  margin-right:12px !important;
}
.ll-public-table-real .ll-public-td-text{
  padding-top:34px !important;
}
.ll-public-table-real .ll-public-td-text h4{
  margin:0 0 22px !important;
}
.ll-public-table-real .ll-public-td-text p{
  margin:0 0 24px !important;
}
.ll-public-table-real .ll-public-card-meta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:40px !important;
  row-gap:12px !important;
}
.ll-public-table-real .ll-public-card-meta span{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
}
.ll-public-table-real .ll-public-card-meta span strong{
  margin-right:0 !important;
}
@media (max-width: 980px){
  .ll-public-table-real .ll-public-td:first-child,
  .ll-public-table-real .ll-public-td:last-child{
    width:100% !important;
    padding-left:24px !important;
    padding-right:24px !important;
    border-left:1px solid #dbe2ea !important;
  }
  .ll-public-table-real .ll-public-td-text{
    padding-top:24px !important;
  }
  .ll-public-table-real .ll-public-td-image,
  .ll-public-table-real .ll-public-td-image img,
  .ll-public-table-real .ll-public-td-image .ll-thumb-placeholder{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
}

/* ===== v5.4.29 definitive student public layout ===== */
.ll-student-public-list{
  display:flex !important;
  flex-direction:column !important;
  gap:24px !important;
}
.ll-student-public-item{
  display:grid !important;
  grid-template-columns:320px minmax(0,1fr) !important;
  gap:44px !important;
  align-items:start !important;
  background:#ffffff !important;
  border:1px solid #dbe2ea !important;
  border-radius:26px !important;
  padding:32px !important;
  box-shadow:0 8px 24px rgba(15,23,42,.04) !important;
  transition:background .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
.ll-student-public-item:hover{
  background:#fbfdff !important;
  box-shadow:0 14px 34px rgba(15,23,42,.08) !important;
  transform:translateY(-2px) !important;
}
.ll-student-public-left{
  width:320px !important;
  min-width:320px !important;
  padding-right:8px !important;
}
.ll-student-public-image-link{
  display:block !important;
  width:100% !important;
}
.ll-student-public-image-link img,
.ll-student-public-left .ll-thumb-placeholder{
  display:block !important;
  width:100% !important;
  height:240px !important;
  object-fit:cover !important;
  border-radius:20px !important;
  box-shadow:0 12px 28px rgba(15,23,42,.12) !important;
  transition:transform .22s ease, box-shadow .22s ease !important;
}
.ll-student-public-item:hover .ll-student-public-image-link img{
  transform:scale(1.03) !important;
  box-shadow:0 18px 38px rgba(15,23,42,.16) !important;
}
.ll-student-public-left .ll-thumb-placeholder{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f8fafc !important;
  border:1px dashed #cbd5e1 !important;
  color:#64748b !important;
}
.ll-student-public-right{
  min-width:0 !important;
  padding-left:8px !important;
  border-left:2px solid #eef2f7 !important;
}
.ll-student-public-title{
  margin:0 0 18px !important;
  font-size:28px !important;
  line-height:1.12 !important;
  font-weight:800 !important;
}
.ll-student-public-title a{
  color:#0f172a !important;
  text-decoration:none !important;
  background-image:linear-gradient(currentColor,currentColor) !important;
  background-repeat:no-repeat !important;
  background-position:0 100% !important;
  background-size:0% 2px !important;
  transition:color .18s ease, background-size .18s ease !important;
}
.ll-student-public-item:hover .ll-student-public-title a,
.ll-student-public-title a:hover{
  color:#2563eb !important;
  background-size:100% 2px !important;
}
.ll-student-public-summary{
  margin:0 0 24px !important;
  color:#334155 !important;
  font-size:16px !important;
  line-height:1.82 !important;
}
.ll-student-public-meta{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px 34px !important;
}
.ll-student-public-meta-item{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.ll-student-public-meta-label{
  font-weight:800 !important;
  color:#0f172a !important;
}
.ll-student-public-meta-value{
  color:#334155 !important;
}
@media (max-width: 980px){
  .ll-student-public-item{
    grid-template-columns:1fr !important;
    gap:20px !important;
    padding:24px !important;
  }
  .ll-student-public-left{
    width:100% !important;
    min-width:0 !important;
    padding-right:0 !important;
  }
  .ll-student-public-right{
    border-left:0 !important;
    padding-left:0 !important;
  }
  .ll-student-public-meta{
    grid-template-columns:1fr !important;
  }
}

/* ===== AI chat upgrade ===== */
.ll-ai-chat-panel{display:block}
.ll-ai-chat-log{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.ll-ai-bubble{max-width:88%;padding:14px 16px;border-radius:18px;line-height:1.7}
.ll-ai-bubble p{margin:0}
.ll-ai-bubble-user{align-self:flex-end;background:#dbeafe;color:#0f172a}
.ll-ai-bubble-ai{align-self:flex-start;background:#f8fafc;border:1px solid #e2e8f0;color:#0f172a}
.ll-ai-form textarea{width:100%;min-height:130px}
.ll-ai-answer-text p{margin:0 0 10px}

.ll-ai-notice{padding:12px 14px;border-radius:12px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412}

.ll-ai-chat-shell{display:block}
.ll-ai-chat-log{display:flex;flex-direction:column;gap:12px;min-height:220px;max-height:520px;overflow:auto;padding:8px 2px}
.ll-ai-bubble{max-width:88%;padding:14px 16px;border-radius:18px;line-height:1.7;white-space:pre-wrap}
.ll-ai-bubble-user{align-self:flex-end;background:#dbeafe;color:#0f172a}
.ll-ai-bubble-ai{align-self:flex-start;background:#f8fafc;border:1px solid #e2e8f0;color:#0f172a}
#ll-ai-send[disabled]{opacity:.65;cursor:not-allowed}


/* Fixed sidebar + internal content scroll for all roles */
.ll-shell{
  height:100vh;
  overflow:hidden;
}
.ll-sidebar{
  position:sticky;
  top:0;
  align-self:start;
  height:100vh;
  overflow-y:auto;
  box-sizing:border-box;
}
.ll-main{
  height:100vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.ll-topbar{
  flex:0 0 auto;
}
.ll-content{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:8px;
}
.ll-content::-webkit-scrollbar,
.ll-sidebar::-webkit-scrollbar{
  width:10px;
}
.ll-content::-webkit-scrollbar-thumb,
.ll-sidebar::-webkit-scrollbar-thumb{
  background:#cbd5e1;
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}
.ll-content::-webkit-scrollbar-track,
.ll-sidebar::-webkit-scrollbar-track{
  background:transparent;
}

@media (max-width: 960px){
  .ll-shell{
    height:auto;
    overflow:visible;
  }
  .ll-sidebar,
  .ll-main,
  .ll-content{
    position:static;
    height:auto;
    overflow:visible;
  }
  .ll-content{
    padding-right:0;
  }
}


/* v5.7.4 layout polish */
html,body.ll-app-body{height:100%}
body.ll-app-body{margin:0;overflow:hidden}
#ll-app-root{min-height:100vh}
.ll-shell{grid-template-columns:280px minmax(0,1fr);height:100vh;min-height:100vh;overflow:hidden}
.ll-sidebar{position:sticky;top:0;height:100vh;overflow:auto;padding:28px 20px;box-sizing:border-box;display:flex;flex-direction:column}
.ll-nav{display:flex;flex-direction:column;gap:4px;min-height:0}
.ll-nav-item{transition:background .18s ease,color .18s ease,transform .18s ease}
.ll-nav-item:hover{transform:translateX(2px)}
.ll-main{min-width:0;height:100vh;overflow:hidden;padding:28px 28px 22px;display:flex;flex-direction:column;box-sizing:border-box}
.ll-topbar{flex:0 0 auto;gap:18px}
.ll-topbar h1{margin:0;font-size:28px;line-height:1.15}
.ll-content{flex:1 1 auto;min-height:0;overflow:auto;padding-right:6px}
.ll-content::-webkit-scrollbar,.ll-sidebar::-webkit-scrollbar,.ll-left-tree::-webkit-scrollbar,.ll-doc-list::-webkit-scrollbar{width:10px;height:10px}
.ll-content::-webkit-scrollbar-thumb,.ll-sidebar::-webkit-scrollbar-thumb,.ll-left-tree::-webkit-scrollbar-thumb,.ll-doc-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;border:2px solid transparent;background-clip:padding-box}
.ll-dossier-grid{grid-template-columns:minmax(360px,420px) minmax(0,1fr);align-items:start}
.ll-left-tree,.ll-right-panels{min-height:0}
.ll-left-tree{background:#f8fafc;border:1px solid #dbe2ea;border-radius:20px;padding:18px;display:flex;flex-direction:column;max-height:calc(100vh - 390px);overflow:hidden}
.ll-left-tree h3{margin:0 0 12px;flex:0 0 auto;font-size:18px}
.ll-left-tree > .ll-tree{flex:1 1 auto;min-height:0;overflow:auto;padding-right:6px}
.ll-tree-group{margin-bottom:12px}
.ll-right-panels{display:block}
.ll-doc-panel{display:none;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.ll-doc-panel.is-active{display:grid}
.ll-side-card{border-radius:20px;padding:20px;display:flex;flex-direction:column;min-height:180px}
.ll-side-card h3{margin:0 0 12px;font-size:18px;line-height:1.2}
.ll-doc-panel .ll-side-card:first-child{min-height:140px}
.ll-doc-panel .ll-side-card:nth-child(2),
.ll-doc-panel .ll-side-card:nth-child(3){min-height:260px}
.ll-doc-list{display:grid;gap:10px;min-height:0;overflow:auto;max-height:190px;padding-right:4px}
.ll-doc-item{grid-template-columns:64px minmax(0,1fr) auto;display:grid;gap:12px;align-items:center}
.ll-doc-index{font-weight:700;color:#0f172a}
.ll-doc-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ll-doc-actions{justify-self:end}
.ll-doc-actions a{white-space:nowrap}
@media (min-width: 961px){
  .ll-user-badge{max-width:30vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media (max-width: 1200px){
  .ll-shell{grid-template-columns:250px minmax(0,1fr)}
  .ll-dossier-grid{grid-template-columns:340px minmax(0,1fr)}
  .ll-left-tree{max-height:calc(100vh - 410px)}
}
@media (max-width: 960px){
  body.ll-app-body{overflow:auto}
  .ll-shell{grid-template-columns:1fr;height:auto;overflow:visible}
  .ll-sidebar,.ll-main{height:auto;overflow:visible}
  .ll-left-tree{max-height:none}
  .ll-left-tree > .ll-tree,.ll-doc-list,.ll-content{overflow:visible;max-height:none}
  .ll-doc-panel .ll-side-card:nth-child(2),
  .ll-doc-panel .ll-side-card:nth-child(3){min-height:unset}
}


/* v5.7.6 accordion dossier tree */
.ll-dossier{display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px;min-height:calc(100vh - 160px)}
.ll-dossier-hero{margin-bottom:0}
.ll-dossier-grid{height:100%;min-height:0}
.ll-left-tree{height:100%;max-height:none}
.ll-left-tree > .ll-tree{padding-right:4px}
.ll-tree-group > .ll-subtree,
.ll-tree-node > .ll-subtree{display:none}
.ll-tree-group.is-open > .ll-subtree,
.ll-tree-node.is-open > .ll-subtree{display:block}
.ll-tree-link{position:relative;justify-content:flex-start}
.ll-tree-link .ll-tree-label{min-width:0;flex:1 1 auto;text-align:left}
.ll-tree-link .ll-tree-expand{margin-left:auto;transition:transform .18s ease,opacity .18s ease;opacity:.75}
.ll-tree-group.is-open > .ll-tree-link .ll-tree-expand,
.ll-tree-node.is-open > .ll-tree-link .ll-tree-expand{transform:rotate(90deg);opacity:1}
.ll-tree-link.has-children,.ll-tree-link.is-tap{font-weight:700}
.ll-tree-node .ll-tree-link{padding-right:10px}
.ll-tree-node .ll-subtree{margin-top:8px;padding-left:14px;border-left:1px solid #dbe2ea}
.ll-tree-group > .ll-tree-link{min-height:52px}
.ll-tree-group > .ll-tree-link.is-active,
.ll-tree-node > .ll-tree-link.is-active{box-shadow:0 10px 24px rgba(15,23,42,.08)}
@media (max-width: 1200px){
  .ll-dossier{min-height:calc(100vh - 180px)}
}
@media (max-width: 960px){
  .ll-dossier{display:block;min-height:unset}
  .ll-dossier-grid{height:auto}
  .ll-left-tree{height:auto}
}

.ll-tree-group > .ll-tree-link.is-tap{min-height:44px;padding:12px 14px;border-radius:16px;font-size:24px;line-height:1.2;white-space:nowrap}
.ll-tree-group > .ll-tree-link.is-tap .ll-tree-label{text-transform:uppercase;letter-spacing:.02em}
@media (max-width: 1200px){
  .ll-tree-group > .ll-tree-link.is-tap{font-size:20px}
}
@media (max-width: 960px){
  .ll-tree-group > .ll-tree-link.is-tap{font-size:18px;white-space:normal}
}


/* v5.7.8 equal-height + full-title accordion fix */
:root{--ll-dossier-grid-height:min(920px, calc(100vh - 260px));}
.ll-dossier-grid{align-items:stretch;min-height:var(--ll-dossier-grid-height);height:var(--ll-dossier-grid-height);}
.ll-left-tree,.ll-right-panels{height:100%;min-height:0;}
.ll-left-tree{max-height:none;}
.ll-right-panels{overflow:hidden;display:block;}
.ll-doc-panel,.ll-doc-panel.is-active{height:100%;min-height:0;}
.ll-doc-panel.is-active{display:grid;grid-template-rows:minmax(120px,auto) minmax(0,1fr) minmax(0,1fr);}
.ll-doc-panel .ll-side-card{min-height:0;height:100%;overflow:hidden;}
.ll-doc-panel .ll-side-card:first-child{height:auto;min-height:140px;}
.ll-doc-panel .ll-side-card:nth-child(2),
.ll-doc-panel .ll-side-card:nth-child(3){display:flex;}
.ll-doc-panel .ll-side-card:nth-child(2) .ll-doc-list,
.ll-doc-panel .ll-side-card:nth-child(3) .ll-doc-list{flex:1 1 auto;min-height:0;overflow:auto;padding-right:6px;}
.ll-tree-group > .ll-tree-link.is-tap{white-space:normal;font-size:18px;line-height:1.5;align-items:flex-start;justify-content:space-between;}
.ll-tree-group > .ll-tree-link.is-tap .ll-tree-label{flex:1 1 auto;white-space:normal;word-break:break-word;}
.ll-tree-group > .ll-tree-link.is-tap .ll-tree-expand{margin-left:12px;flex:0 0 auto;padding-top:4px;}
@media (max-width: 1280px){
  :root{--ll-dossier-grid-height:min(860px, calc(100vh - 240px));}
  .ll-dossier-grid{grid-template-columns:minmax(320px,420px) minmax(0,1fr);}
}
@media (max-width: 960px){
  :root{--ll-dossier-grid-height:auto;}
  .ll-dossier-grid{height:auto;min-height:0;}
  .ll-left-tree,.ll-right-panels,.ll-doc-panel,.ll-doc-panel.is-active{height:auto;}
  .ll-doc-panel .ll-side-card{overflow:visible;}
  .ll-doc-panel .ll-side-card:nth-child(2) .ll-doc-list,
  .ll-doc-panel .ll-side-card:nth-child(3) .ll-doc-list{overflow:visible;}
}


/* v5.8.0 file actions + LMS icons */
.ll-doc-item{grid-template-columns:minmax(120px,160px) minmax(0,1fr) auto;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.ll-doc-leading{display:flex;align-items:center;gap:10px;min-width:0}
.ll-doc-text-wrap{min-width:0}
.ll-doc-text{font-weight:600}
.ll-file-type-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em;border:1px solid #dbe2ea;background:#f8fafc;color:#0f172a;white-space:nowrap}
.ll-file-type-pill.is-pdf{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.ll-file-type-pill.is-word{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.ll-file-type-pill.is-ppt{background:#fff7ed;border-color:#fed7aa;color:#c2410c}
.ll-file-type-pill.is-excel{background:#ecfdf5;border-color:#bbf7d0;color:#15803d}
.ll-file-type-pill.is-video{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9}
.ll-file-type-pill.is-audio{background:#faf5ff;border-color:#e9d5ff;color:#7e22ce}
.ll-file-icon{font-size:15px;line-height:1}
.ll-doc-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ll-btn-mini{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:10px;text-decoration:none;font-weight:700;font-size:13px;white-space:nowrap;border:1px solid #cbd5e1;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}
.ll-btn-mini:hover{transform:translateY(-1px)}
.ll-btn-view{background:#1d4ed8;border-color:#1d4ed8;color:#fff !important}
.ll-btn-view:hover{background:#1e40af;border-color:#1e40af;color:#fff !important}
.ll-btn-download{background:#fff;color:#0f172a !important}
.ll-btn-download:hover{background:#f8fafc;color:#0f172a !important}
@media (max-width: 1200px){
  .ll-doc-item{grid-template-columns:1fr}
  .ll-doc-leading{justify-content:flex-start}
  .ll-doc-actions{justify-content:flex-start}
}


.ll-video-inline-form{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) auto;gap:8px;margin:8px 0 6px}
.ll-video-inline-form input{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:9px 10px;box-sizing:border-box;background:#fff}
.ll-video-provider-hint{font-size:12px;color:#64748b;margin:0 0 8px}
.ll-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #dbe2ea;background:#f8fafc}
.ll-chip.is-external-video{background:#fff;border-style:solid}
.ll-chip-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#eef2ff;font-size:12px}
.ll-chip-provider{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8}
.ll-chip-remove{border:0;background:transparent;color:#94a3b8;font-size:16px;line-height:1;cursor:pointer;padding:0 2px}
.ll-chip-remove:hover{color:#ef4444}
.ll-chip-provider.is-youtube,.ll-file-type-pill.is-youtube{background:#fef2f2;color:#b91c1c}
.ll-chip-provider.is-vimeo,.ll-file-type-pill.is-vimeo{background:#eff6ff;color:#1d4ed8}
.ll-chip-provider.is-drive,.ll-file-type-pill.is-drive{background:#ecfdf5;color:#047857}
.ll-chip-provider.is-loom,.ll-file-type-pill.is-loom{background:#faf5ff;color:#7c3aed}
.ll-file-type-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-weight:700;font-size:12px;background:#f1f5f9;color:#0f172a}
.ll-doc-item{gap:14px;align-items:flex-start}
.ll-doc-leading{display:flex;align-items:center;gap:8px;min-width:140px}
.ll-doc-index{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:999px;background:#e2e8f0;font-size:12px;font-weight:800;color:#334155}
.ll-doc-text-wrap{flex:1;min-width:0}.ll-doc-text{font-weight:600;line-height:1.5;word-break:break-word}
.ll-doc-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ll-btn-mini{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:10px;text-decoration:none;font-size:13px;font-weight:700;border:1px solid #cbd5e1;background:#fff;color:#0f172a}
.ll-btn-view{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.ll-btn-download{background:#f8fafc}
.ll-video-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:14px}
.ll-video-preview-card{border:1px solid #dbe2ea;border-radius:16px;padding:12px;background:#f8fafc}
.ll-video-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.ll-video-preview-title{font-weight:700;line-height:1.4;flex:1}
.ll-video-embed-wrap{position:relative;padding-top:56.25%;border-radius:14px;overflow:hidden;background:#0f172a}
.ll-video-embed-wrap iframe,.ll-video-embed-wrap video{position:absolute;inset:0;width:100%;height:100%;border:0}
.ll-side-card h3{margin-top:0}
@media (max-width:960px){.ll-video-inline-form{grid-template-columns:1fr}.ll-doc-item{flex-direction:column}.ll-doc-leading,.ll-doc-actions{width:100%}.ll-doc-actions{justify-content:flex-start}}


/* v5.8.4 LMS Pro file UI */
.ll-doc-list{gap:12px}
.ll-doc-item{position:relative;grid-template-columns:minmax(132px,178px) minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;border:1px solid #dbe4f0;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);box-shadow:0 10px 26px rgba(15,23,42,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ll-doc-item::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:999px;background:#cbd5e1}
.ll-doc-item:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(15,23,42,.08);border-color:#c9d8ee}
.ll-doc-item.is-pdf::before{background:#dc2626}
.ll-doc-item.is-word::before{background:#2563eb}
.ll-doc-item.is-ppt::before{background:#ea580c}
.ll-doc-item.is-excel::before{background:#16a34a}
.ll-doc-item.is-video::before{background:#7c3aed}
.ll-doc-item.is-audio::before{background:#9333ea}
.ll-doc-item.is-file::before{background:#64748b}
.ll-doc-leading{display:flex;align-items:center;gap:10px;min-width:0}
.ll-doc-index{min-width:30px;height:30px;background:#e8eef7;color:#334155;font-weight:800;box-shadow:inset 0 0 0 1px rgba(148,163,184,.18)}
.ll-file-type-pill{padding:8px 12px;gap:8px;border-width:1px;font-size:12px;font-weight:800;letter-spacing:.01em;box-shadow:inset 0 -1px 0 rgba(255,255,255,.35)}
.ll-file-icon{font-size:16px}
.ll-doc-text-wrap{min-width:0}
.ll-doc-text{font-size:15px;font-weight:700;line-height:1.45;color:#0f172a;word-break:break-word}
.ll-doc-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.ll-btn-mini{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border-radius:12px;text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap;border:1px solid #cbd5e1;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
.ll-btn-mini .ll-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:14px;line-height:1}
.ll-btn-mini:hover{transform:translateY(-1px)}
.ll-btn-mini:active{transform:translateY(0) scale(.98)}
.ll-btn-view{background:#f8fafc;color:#111827 !important;border-color:#cfd8e3;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.ll-btn-view:hover{background:#eef3f9;color:#000 !important;border-color:#b9c7d9;box-shadow:0 8px 18px rgba(148,163,184,.18)}
.ll-btn-download{background:linear-gradient(180deg,#2f6fec 0%,#1d4ed8 100%);color:#fff !important;border-color:#1d4ed8;box-shadow:0 8px 18px rgba(37,99,235,.22)}
.ll-btn-download:hover{background:linear-gradient(180deg,#2563eb 0%,#1e40af 100%);color:#fff !important;border-color:#1e40af;box-shadow:0 12px 24px rgba(37,99,235,.28)}
.ll-btn-download .ll-btn-icon{filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))}
@media (max-width:1200px){
  .ll-doc-item{grid-template-columns:1fr;gap:12px}
  .ll-doc-actions{justify-content:flex-start}
}
@media (max-width:768px){
  .ll-doc-item{padding:14px 14px 14px 16px;border-radius:16px}
  .ll-doc-item::before{top:10px;bottom:10px}
  .ll-btn-mini{width:100%}
  .ll-doc-actions{width:100%}
}


/* Pagination + professional list UI */
.ll-list-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}
.ll-list-toolbar__copy h3{margin:0 0 6px;font-size:22px;color:#0f172a}
.ll-list-toolbar__copy p{margin:0;color:#64748b;line-height:1.6}
.ll-list-toolbar__actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ll-pagination-wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid #e2e8f0}
.ll-pagination-meta{color:#64748b;font-size:14px}
.ll-pagination{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ll-page-link,.ll-page-nav{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:10px;border:1px solid #dbe2ea;background:#fff;color:#0f172a;text-decoration:none;font-weight:700;box-shadow:0 2px 6px rgba(15,23,42,.03);transition:all .18s ease}
.ll-page-link:hover,.ll-page-nav:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8;transform:translateY(-1px)}
.ll-page-link.is-current{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.ll-page-nav.is-disabled{opacity:.45;pointer-events:none}
.ll-page-dots{padding:0 2px;color:#64748b;font-weight:700}
.ll-empty-state{padding:18px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#64748b;text-align:center}
.ll-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid transparent}
.ll-status-pill.is-publish{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.ll-status-pill.is-pending{background:#fef3c7;color:#92400e;border-color:#fde68a}
.ll-status-pill.is-draft{background:#e2e8f0;color:#334155;border-color:#cbd5e1}
.ll-panel{box-shadow:0 8px 24px rgba(15,23,42,.05)}
.ll-table thead th{background:#f8fafc;position:sticky;top:0;z-index:1}
.ll-table tbody tr:hover{background:#fbfdff}
.ll-list-card{position:relative;overflow:hidden}
.ll-list-card:before{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,#2563eb,#60a5fa);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.ll-list-card:hover:before{transform:scaleX(1)}
@media (max-width:768px){.ll-pagination-wrap{align-items:flex-start}.ll-page-link,.ll-page-nav{height:38px;min-width:38px}.ll-list-toolbar__copy h3{font-size:20px}}

/* v5.8.6 filters + dashboard + responsive polish */
.ll-dashboard-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:24px;
  margin-bottom:18px;
  border:1px solid #dbe2ea;
  border-radius:22px;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.ll-dashboard-role{
  display:inline-flex;
  padding:6px 12px;
  border-radius:999px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ll-dashboard-hero__copy h3{margin:12px 0 8px;font-size:28px;line-height:1.15}
.ll-dashboard-hero__copy p{margin:0;color:#475569;line-height:1.75;max-width:720px}
.ll-dashboard-hero__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.ll-cards--dashboard .ll-card{position:relative;overflow:hidden;border:1px solid #dbe2ea;background:#fff;box-shadow:0 10px 22px rgba(15,23,42,.05)}
.ll-cards--dashboard .ll-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#94a3b8}
.ll-card--role:before{background:#7c3aed}
.ll-card--faculty:before{background:#0891b2}
.ll-card--user:before{background:#2563eb}
.ll-card--dossier:before{background:#0f766e}
.ll-card--pending:before{background:#d97706}

.ll-filters-bar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  padding:16px;
  margin:0 0 16px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#f8fafc;
}
.ll-filters-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:12px;
  flex:1 1 720px;
}
.ll-filter-field{display:flex;flex-direction:column;gap:6px}
.ll-filter-field span{font-size:13px;font-weight:700;color:#334155}
.ll-filter-field select,
.ll-filter-field input{
  width:100%;
  min-height:44px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
}
.ll-filters-actions{display:flex;gap:10px;flex-wrap:wrap}

.ll-table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
  -webkit-overflow-scrolling:touch;
}
.ll-table{min-width:720px}
.ll-table thead th{background:#f8fafc;position:sticky;top:0;z-index:2;box-shadow:inset 0 -1px 0 #e2e8f0}

.ll-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ll-list-card{padding:18px;border-radius:18px;border:1px solid #dbe2ea;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.04)}
.ll-list-card strong{display:block;margin-bottom:6px}
.ll-list-card span{color:#64748b}

@media (max-width: 1100px){
  .ll-filters-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}
  .ll-list-grid{grid-template-columns:1fr}
}

@media (max-width: 960px){
  .ll-topbar{flex-direction:column;align-items:flex-start}
  .ll-user-badge{max-width:100%;width:100%;box-sizing:border-box}
  .ll-page-search,.ll-search-form,.ll-search-row{width:100%}
  .ll-search-row{display:grid;grid-template-columns:1fr;gap:10px}
  .ll-dashboard-hero{flex-direction:column}
  .ll-dashboard-hero__copy h3{font-size:24px}
  .ll-dashboard-hero__actions{width:100%;justify-content:flex-start}
  .ll-filters-grid{grid-template-columns:1fr}
  .ll-filters-actions{width:100%}
  .ll-filters-actions .ll-btn-primary,
  .ll-filters-actions .ll-btn-light{flex:1 1 160px;text-align:center;justify-content:center}
  .ll-panel{padding:16px}
  .ll-inline-form,
  .ll-grid-2,
  .ll-node-meta{grid-template-columns:1fr !important}
  .ll-node-row{align-items:stretch}
  .ll-node-title{min-width:0;width:100%}
  .ll-node-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
  .ll-node-actions button{margin-right:0;width:100%}
  .ll-public-toggle{width:100%;justify-content:flex-start}
  .ll-actions button,
  .ll-inline-form button,
  .ll-grid-2 button,
  .ll-btn-primary,
  .ll-btn-light{max-width:100%}
}

@media (max-width: 640px){
  .ll-main{padding:16px 14px 18px}
  .ll-topbar h1{font-size:22px}
  .ll-panel-head{flex-direction:column;align-items:flex-start;gap:10px}
  .ll-list-toolbar{flex-direction:column;align-items:flex-start}
  .ll-list-toolbar__actions{width:100%}
  .ll-list-toolbar__actions .ll-btn-primary,
  .ll-list-toolbar__actions .ll-btn-light{width:100%;justify-content:center}
  .ll-card{padding:18px}
  .ll-card-value{font-size:28px}
  .ll-doc-item{grid-template-columns:48px minmax(0,1fr);gap:10px}
  .ll-doc-actions{grid-column:1/-1;justify-self:start;display:flex;flex-wrap:wrap;gap:8px}
  .ll-file-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .ll-file-actions a{width:100%;justify-content:center}
}


/* v5.8.7 mobile dossier usability fix */
@media (max-width: 960px){
  html,body.ll-app-body{height:auto;min-height:100%}
  body.ll-app-body{overflow-x:hidden;overflow-y:auto}
  #ll-app-root{min-height:100vh;overflow-x:hidden}
  .ll-shell{display:block;height:auto;min-height:100vh;overflow:visible}
  .ll-sidebar{position:relative;top:auto;z-index:1;height:auto;overflow:visible;padding:16px 14px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
  .ll-brand{font-size:20px;margin-bottom:14px}
  .ll-nav{display:grid;grid-template-columns:1fr;gap:8px}
  .ll-sidebar a,.ll-nav-item{padding:12px 14px;font-size:16px;line-height:1.3;white-space:normal;word-break:break-word}
  .ll-main{position:relative;z-index:2;height:auto;overflow:visible;padding:14px}
  .ll-topbar{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:14px}
  .ll-topbar h1{font-size:22px;line-height:1.18;word-break:break-word}
  .ll-user-badge{max-width:100%;width:100%;box-sizing:border-box;border-radius:16px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4}
  .ll-content{overflow:visible;padding-right:0}
  .ll-page-search{margin-bottom:12px}
  .ll-search-row{display:grid;grid-template-columns:1fr;gap:10px}
  .ll-search-input,.ll-search-form button,.ll-btn-light,.ll-btn-primary{width:100%;max-width:100%}

  .ll-dossier{display:block;min-height:0}
  .ll-dossier-hero{display:grid;grid-template-columns:1fr;gap:14px}
  .ll-dossier-hero-media img,.ll-thumb-placeholder{height:220px}
  .ll-dossier-hero-body h2{font-size:20px;line-height:1.25;margin:0 0 10px}
  .ll-meta-row{gap:8px 14px}
  .ll-dossier-grid{display:grid;grid-template-columns:1fr;gap:14px;height:auto !important;min-height:0 !important}
  .ll-left-tree,.ll-right-panels,.ll-doc-panel,.ll-doc-panel.is-active{width:100%;height:auto !important;min-height:0}
  .ll-left-tree{order:1;padding:14px;border-radius:18px;overflow:visible;background:#f8fafc}
  .ll-left-tree > .ll-tree{overflow:visible !important;max-height:none !important;padding-right:0}
  .ll-left-tree h3{font-size:18px;margin-bottom:10px}
  .ll-tree-group{margin-bottom:10px}
  .ll-tree-group > .ll-tree-link.is-tap{font-size:16px;line-height:1.4;padding:14px 16px;border-radius:16px;align-items:flex-start}
  .ll-tree-node > .ll-tree-link,.ll-tree-group > .ll-tree-link{padding:12px 14px}
  .ll-tree-link .ll-tree-expand{margin-left:10px;padding-top:2px}
  .ll-subtree{padding-left:0;margin-top:8px}
  .ll-tree-node .ll-subtree{padding-left:12px;margin-left:8px}
  .ll-tree-node .ll-tree-link{font-size:15px;line-height:1.4}
  .ll-public-badge{margin-left:0}

  .ll-right-panels{order:2;overflow:visible}
  .ll-doc-panel.is-active{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:14px}
  .ll-doc-panel .ll-side-card{height:auto !important;overflow:visible;border-radius:18px;padding:16px}
  .ll-doc-panel .ll-side-card:first-child,.ll-doc-panel .ll-side-card:nth-child(2),.ll-doc-panel .ll-side-card:nth-child(3){min-height:0}
  .ll-doc-panel .ll-side-card:nth-child(2) .ll-doc-list,.ll-doc-panel .ll-side-card:nth-child(3) .ll-doc-list{overflow:visible !important;max-height:none !important;padding-right:0}
  .ll-doc-item{grid-template-columns:1fr;gap:10px;align-items:flex-start;padding:14px}
  .ll-doc-leading,.ll-doc-actions{width:100%}
  .ll-doc-leading{align-items:flex-start}
  .ll-doc-text{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word}
  .ll-doc-actions{justify-self:stretch;display:grid;grid-template-columns:1fr;gap:8px}
  .ll-doc-actions .ll-file-actions,.ll-file-actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%}
  .ll-doc-actions a,.ll-file-actions a{width:100%;justify-content:center}
  .ll-video-preview-grid{grid-template-columns:1fr}
  .ll-video-embed{min-height:220px}

  .ll-panel,.ll-side-card,.ll-card{border-radius:18px}
  .ll-panel-head{flex-direction:column;align-items:stretch}
  .ll-grid-2,.ll-node-meta,.ll-cards,.ll-list-grid,.ll-filters-grid{grid-template-columns:1fr !important}
  .ll-list-toolbar{flex-direction:column;align-items:flex-start}
  .ll-list-toolbar__actions,.ll-filters-actions{width:100%}
  .ll-filters-actions .ll-btn-primary,.ll-filters-actions .ll-btn-light{flex:1 1 auto;width:100%}
  .ll-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
}


/* AI Tutor Pro */
.ll-ai-chat-shell{display:grid;gap:14px}
.ll-ai-chat-log{display:flex;flex-direction:column;gap:14px;max-height:min(68vh,820px);overflow:auto;padding-right:4px;scroll-behavior:smooth}
.ll-ai-bubble{max-width:100%}
.ll-ai-bubble-user{display:flex;justify-content:flex-end}
.ll-ai-user-text{max-width:min(760px,100%);background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 100%);color:#fff;border-radius:18px 18px 6px 18px;padding:14px 16px;box-shadow:0 10px 24px rgba(37,99,235,.16);line-height:1.65;white-space:pre-wrap}
.ll-ai-bubble-ai{display:flex;justify-content:flex-start}
.ll-ai-answer-card{width:min(860px,100%);background:#fff;border:1px solid #dbe2ea;border-radius:20px;box-shadow:0 10px 30px rgba(15,23,42,.06);overflow:hidden}
.ll-ai-answer-card.is-loading{min-height:140px}
.ll-ai-answer-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid #eef2f7;background:linear-gradient(180deg,#fbfdff 0%,#f8fafc 100%)}
.ll-ai-answer-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.ll-ai-answer-sub{color:#64748b;font-size:13px;line-height:1.4;text-align:right}
.ll-ai-answer-body{padding:18px;color:#0f172a}
.ll-ai-answer-body h4{margin:0 0 10px;font-size:18px;line-height:1.35;color:#0f172a}
.ll-ai-answer-body p{margin:0 0 12px;line-height:1.8;color:#1e293b}
.ll-ai-answer-body ul,.ll-ai-answer-body ol{margin:0 0 14px 22px;color:#1e293b;line-height:1.8}
.ll-ai-answer-body li{margin:0 0 8px}
.ll-ai-answer-body strong{color:#0f172a}
.ll-ai-answer-foot{padding:0 18px 18px}
.ll-ai-answer-foot-title{font-size:13px;font-weight:800;color:#334155;margin:0 0 10px;text-transform:uppercase;letter-spacing:.03em}
.ll-ai-related-links{display:flex;flex-wrap:wrap;gap:10px}
.ll-ai-related-links a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #dbe2ea;border-radius:999px;background:#f8fafc;color:#0f172a;text-decoration:none;font-weight:600}
.ll-ai-related-links a:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.ll-ai-composer{position:sticky;bottom:0;background:#f6f8fb;padding-top:8px}
.ll-ai-form textarea{min-height:96px;resize:vertical}
.ll-ai-loading{display:flex;gap:8px;align-items:center;padding:6px 0}
.ll-ai-loading span{display:inline-block;width:10px;height:10px;border-radius:999px;background:#94a3b8;animation:llAiPulse 1s infinite ease-in-out}
.ll-ai-loading span:nth-child(2){animation-delay:.12s}
.ll-ai-loading span:nth-child(3){animation-delay:.24s}
@keyframes llAiPulse{0%,80%,100%{transform:scale(.7);opacity:.45}40%{transform:scale(1);opacity:1}}
@media (max-width: 768px){
  .ll-ai-chat-log{max-height:none}
  .ll-ai-answer-card,.ll-ai-user-text{width:100%;max-width:100%}
  .ll-ai-answer-head{flex-direction:column;align-items:flex-start}
  .ll-ai-answer-sub{text-align:left}
  .ll-ai-answer-body{padding:16px}
}

.ll-ai-shell{display:block}.ll-ai-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:16px 0}.ll-ai-stat-card{background:#fff;border:1px solid #dbe4f0;border-radius:16px;padding:16px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.ll-ai-stat-label{font-size:13px;color:#64748b;margin-bottom:8px}.ll-ai-stat-value{font-size:28px;font-weight:800;color:#0f172a}.ll-ai-scope-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f8fbff;border:1px solid #d9e7fb;border-radius:16px;padding:14px 16px;margin:16px 0}.ll-ai-scope-copy{display:flex;flex-direction:column;gap:4px}.ll-ai-scope-copy span{font-size:13px;color:#64748b}.ll-ai-scope-fields{display:flex;gap:10px;flex-wrap:wrap}.ll-ai-select{min-width:220px;padding:10px 12px;border-radius:12px;border:1px solid #cbd5e1;background:#fff}.ll-ai-quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 18px}.ll-ai-quick-btn{background:#0f172a;color:#fff;border:0;border-radius:999px;padding:10px 14px;font-weight:700;cursor:pointer}.ll-ai-quick-btn:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(15,23,42,.15)}.ll-ai-sources{margin-top:16px;border-top:1px solid #e2e8f0;padding-top:14px}.ll-ai-sources-title{font-weight:800;color:#0f172a;margin-bottom:10px}.ll-ai-sources-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.ll-ai-source-card{display:block;text-decoration:none;background:#f8fafc;border:1px solid #dbe4f0;border-radius:14px;padding:12px;color:#0f172a}.ll-ai-source-name{font-weight:800;margin-bottom:6px}.ll-ai-source-meta{font-size:12px;color:#475569;margin-bottom:8px}.ll-ai-source-excerpt{font-size:13px;color:#334155;line-height:1.55}.ll-ai-source-hint{font-size:12px;color:#2563eb;margin-top:8px}.ll-ai-exam-card,.ll-ai-plan{background:#fff;border:1px solid #dbe4f0;border-radius:18px;padding:16px}.ll-ai-exam-head h4,.ll-ai-plan-head h4{margin:0 0 6px}.ll-ai-question{padding:14px 0;border-top:1px solid #edf2f7}.ll-ai-question:first-child{border-top:0}.ll-ai-question-title{font-weight:700;margin-bottom:10px;color:#0f172a}.ll-ai-options{display:grid;gap:8px}.ll-ai-option{display:flex;align-items:flex-start;gap:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px}.ll-ai-option input{margin-top:4px}.ll-ai-exam-actions{display:flex;flex-direction:column;gap:12px;margin-top:14px}.ll-ai-grade-btn{align-self:flex-start;background:#2563eb;color:#fff;border:0;border-radius:12px;padding:10px 16px;font-weight:800;cursor:pointer}.ll-ai-grade-score{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:12px;font-weight:700;color:#1d4ed8}.ll-ai-grade-summary ul{margin:10px 0 0 18px}.ll-ai-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.ll-ai-plan-day{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:12px}.ll-ai-plan-num{font-weight:800;color:#2563eb;margin-bottom:6px}.ll-ai-plan-topic{font-size:13px;font-weight:700;color:#0f172a;margin-bottom:4px}.ll-ai-plan-node{font-size:13px;color:#475569;margin-bottom:6px}.ll-ai-dashboard-table{grid-column:1/-1;background:#fff;border:1px solid #dbe4f0;border-radius:16px;padding:14px;overflow:auto}.ll-ai-dashboard-title{font-weight:800;margin-bottom:10px}.ll-ai-dashboard-table table{width:100%;border-collapse:collapse}.ll-ai-dashboard-table th,.ll-ai-dashboard-table td{padding:10px 12px;border-bottom:1px solid #e2e8f0;text-align:left;font-size:14px}.ll-ai-dashboard-table th{position:sticky;top:0;background:#fff;z-index:1}.ll-ai-answer-body h4{font-size:16px;margin:0 0 8px}.ll-ai-answer-body ul,.ll-ai-answer-body ol{padding-left:20px}.ll-ai-answer-body p{line-height:1.75}.ll-ai-chat-log{scroll-margin-top:16px}
@media (max-width: 767px){.ll-ai-scope-toolbar{flex-direction:column;align-items:stretch}.ll-ai-select{min-width:0;width:100%}.ll-ai-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ll-ai-quick-btn{width:100%}.ll-ai-dashboard{grid-template-columns:1fr 1fr}.ll-ai-sources-list,.ll-ai-plan-grid{grid-template-columns:1fr}.ll-ai-option{padding:10px}.ll-ai-stat-value{font-size:22px}}


/* AI chat professional refresh */
.ll-ai-starter{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);border:1px solid #dbe7f5;border-radius:20px;padding:18px 20px;margin:16px 0 18px;box-shadow:0 12px 30px rgba(15,23,42,.04)}
.ll-ai-starter-head{display:flex;flex-direction:column;gap:6px;max-width:420px}.ll-ai-starter-head strong{font-size:18px;color:#0f172a}.ll-ai-starter-head span{font-size:14px;line-height:1.6;color:#64748b}
.ll-ai-starter-list,.ll-ai-followup-list{display:flex;flex-wrap:wrap;gap:10px}
.ll-ai-suggestion-btn{appearance:none;border:1px solid #d6e0ec;background:#fff;color:#0f172a;border-radius:999px;padding:10px 14px;font-size:14px;font-weight:700;line-height:1.3;cursor:pointer;transition:all .18s ease;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.ll-ai-suggestion-btn:hover{transform:translateY(-1px);border-color:#93c5fd;box-shadow:0 12px 24px rgba(37,99,235,.12);background:#f8fbff}
.ll-ai-suggestion-btn:active{transform:translateY(0) scale(.98)}
.ll-ai-answer-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid #edf2f7;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.ll-ai-answer-badge{display:inline-flex;align-items:center;gap:8px;background:#0f172a;color:#fff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.ll-ai-answer-badge:before{content:'✦';font-size:12px}
.ll-ai-answer-sub{font-size:13px;color:#64748b;line-height:1.5}
.ll-ai-answer-body{padding:18px}.ll-ai-answer-body p:last-child{margin-bottom:0}.ll-ai-answer-body p,.ll-ai-answer-body li{font-size:15px;color:#1e293b}
.ll-ai-answer-foot{padding:0 18px 18px}.ll-ai-answer-foot-title,.ll-ai-followup-title{font-size:13px;font-weight:800;color:#334155;text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px}
.ll-ai-followup{margin:18px;padding:14px 16px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0}
.ll-ai-related-list,.ll-ai-answer-foot ul{margin:0;padding-left:18px}
.ll-ai-source-card:hover{border-color:#93c5fd;box-shadow:0 12px 24px rgba(37,99,235,.10);transform:translateY(-1px)}
.ll-ai-scope-toolbar{display:none !important;}
@media (max-width: 767px){.ll-ai-starter{flex-direction:column;padding:16px}.ll-ai-starter-head{max-width:none}.ll-ai-suggestion-btn{width:100%;justify-content:center;text-align:center}.ll-ai-starter-list,.ll-ai-followup-list{display:grid;grid-template-columns:1fr}.ll-ai-answer-head{flex-direction:column;align-items:flex-start}.ll-ai-answer-body{padding:16px}.ll-ai-followup{margin:16px}}

.ll-list-card-rich{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start;text-decoration:none;color:inherit;min-height:220px}
.ll-list-card-rich:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,23,42,.08)}
.ll-list-card-media img,.ll-thumb-placeholder-sm{width:100%;height:180px;object-fit:cover;border-radius:16px;background:#e2e8f0;display:flex;align-items:center;justify-content:center}
.ll-list-card-body{display:flex;flex-direction:column;gap:10px}
.ll-list-card-title{font-size:22px;line-height:1.2;color:#0f172a;text-decoration:none}
.ll-list-card-lecturer,.ll-list-card-faculty{font-size:18px;color:#64748b}
.ll-list-card-intro{margin:0;color:#334155;line-height:1.7;font-size:16px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width: 960px){
  .ll-list-card-rich{grid-template-columns:1fr;min-height:unset}
  .ll-list-card-media img,.ll-thumb-placeholder-sm{height:200px}
  .ll-list-card-title{font-size:20px}
  .ll-list-card-lecturer,.ll-list-card-faculty{font-size:16px}
}


/* v5.9.7 cleaner headings + system pagination polish */
.ll-list-toolbar__copy p,.ll-dashboard-hero__copy p{display:none!important}
.ll-pagination-wrap{padding:14px 0 0;margin-top:20px}
.ll-pagination{gap:10px}
.ll-page-link,.ll-page-nav{border-radius:12px;min-width:42px;height:42px}
.ll-page-link.is-current{box-shadow:0 10px 20px rgba(37,99,235,.18)}
@media (max-width:768px){.ll-pagination-wrap{justify-content:center}.ll-pagination-meta{width:100%;text-align:center}.ll-pagination{justify-content:center;width:100%}}


.ll-ai-answer-roadmap{margin-top:18px}
.ll-ai-roadmap{border:1px solid #dbe2ea;background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);border-radius:18px;padding:16px 18px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.ll-ai-roadmap-head{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.ll-ai-roadmap-badge{display:inline-flex;align-self:flex-start;padding:4px 10px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:12px;font-weight:700}
.ll-ai-roadmap-head h4{margin:0;font-size:20px;line-height:1.3;color:#0f172a}
.ll-ai-roadmap-head p,.ll-ai-roadmap-lead{margin:0;color:#475569}
.ll-ai-roadmap-steps{margin:14px 0 0;padding-left:0;list-style:none;display:grid;gap:12px}
.ll-ai-roadmap-steps li{display:grid;gap:4px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #e2e8f0}
.ll-ai-roadmap-stepno{font-size:12px;font-weight:700;color:#1d4ed8;text-transform:uppercase;letter-spacing:.02em}
.ll-ai-roadmap-stepmeta{font-size:13px;color:#64748b}
.ll-ai-roadmap-actions{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.ll-ai-roadmap-link{display:inline-flex;align-self:flex-start;padding:10px 14px;border-radius:12px;background:#1d4ed8;color:#fff !important;text-decoration:none;font-weight:700}
.ll-ai-roadmap-link:hover{background:#1e40af;color:#fff !important}
.ll-ai-roadmap-tip{font-size:13px;color:#475569}
@media (max-width: 768px){.ll-ai-roadmap{padding:14px}.ll-ai-roadmap-head h4{font-size:18px}}

.ll-ai-inline-link{margin-top:14px;padding:12px 14px;border:1px solid #dbeafe;background:#eff6ff;border-radius:12px;color:#1e3a8a}.ll-ai-inline-link a{font-weight:700;text-decoration:underline;color:#1d4ed8}.ll-ai-inline-link a:hover{color:#1e40af}

.ll-ai-chatgpt-shell{padding-top:8px}
.ll-ai-chat-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}
.ll-ai-chat-main{min-width:0}
.ll-ai-thread-sidebar{position:sticky;top:16px;background:#fff;border:1px solid #dbe4f0;border-radius:18px;padding:14px;box-shadow:0 10px 30px rgba(15,23,42,.04)}
.ll-ai-thread-sidebar-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}
.ll-btn-sm{padding:8px 12px;font-size:13px}
.ll-ai-thread-list{display:grid;gap:10px;max-height:72vh;overflow:auto}
.ll-ai-thread-item-form{margin:0}
.ll-ai-thread-item{display:grid;gap:4px;width:100%;text-align:left;border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px;padding:12px 13px;cursor:pointer;color:#0f172a}
.ll-ai-thread-item:hover{border-color:#93c5fd;background:#f8fbff}
.ll-ai-thread-item.is-active{background:#eff6ff;border-color:#60a5fa;box-shadow:0 10px 24px rgba(37,99,235,.10)}
.ll-ai-thread-title{font-weight:700;line-height:1.4}
.ll-ai-thread-meta{font-size:12px;color:#64748b}
.ll-ai-chat-log[data-thread-key]{min-height:420px}
.ll-ai-answer-card.is-streaming .ll-ai-answer-sub{color:#2563eb}
.ll-ai-stream-text{white-space:pre-wrap}
@media (max-width: 1100px){.ll-ai-chat-layout{grid-template-columns:1fr}.ll-ai-thread-sidebar{position:relative;top:auto}.ll-ai-thread-list{max-height:none}}


/* v7 production thread controls */
.ll-ai-thread-row{display:flex;gap:8px;align-items:stretch;margin-bottom:8px}.ll-ai-thread-item-form{flex:1}.ll-ai-thread-mini-actions{display:flex;gap:6px;align-items:center}.ll-thread-mini-btn{border:1px solid #d0d7de;background:#fff;border-radius:10px;padding:8px 10px;cursor:pointer;line-height:1}.ll-thread-mini-btn.is-danger{color:#b42318}.ll-ai-thread-row.is-pinned .ll-ai-thread-item{border-color:#f59e0b;background:#fffaf0}.ll-ai-composer-note{font-size:12px;opacity:.75;margin:0 0 10px}.ll-ai-thread-item{width:100%;text-align:left}.ll-ai-thread-title{display:block;font-weight:600}.ll-ai-thread-meta{display:block;font-size:12px;opacity:.7;margin-top:4px}

/* v7.1 production: AI frontend removed, admin AI config refined */
.ll-ai-config-only{max-width:1100px;margin:0 auto}
.ll-chatgpt-admin-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 28px;border:1px solid #e5e7eb;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)}
.ll-admin-kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;color:#0f172a;background:#e2e8f0;border-radius:999px;padding:6px 10px;margin-bottom:8px}
.ll-ai-config-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;margin-top:16px}
.ll-ai-config-card{border-radius:24px}
.ll-ai-config-stats{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ll-ai-config-stats li{padding:12px 14px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}
.ll-ai-settings-form input[type="text"],.ll-ai-settings-form input[type="password"]{width:100%;min-height:48px;padding:12px 14px;border:1px solid #d1d5db;border-radius:16px;background:#fff}
.ll-ai-settings-form label{display:block;font-weight:600;margin:0 0 8px}
@media (max-width: 900px){.ll-ai-config-grid{grid-template-columns:1fr}.ll-chatgpt-admin-hero{padding:18px}}


/* v7.2 role-aware chatgpt ui */
.ll-chatgpt-like{max-width:1400px;margin:0 auto}
.ll-chatgpt-like .ll-ai-chat-layout{grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:stretch}
.ll-chatgpt-like .ll-ai-thread-sidebar{background:#0f172a;border-color:#111827;color:#e5eefb;padding:16px;box-shadow:none}
.ll-chatgpt-like .ll-ai-thread-sidebar-head strong{color:#fff;font-size:15px}
.ll-chatgpt-like .ll-ai-thread-list{gap:8px}
.ll-chatgpt-like .ll-ai-thread-item{background:#111827;border-color:#1f2937;color:#e5eefb;padding:14px}
.ll-chatgpt-like .ll-ai-thread-item:hover{background:#172033;border-color:#334155}
.ll-chatgpt-like .ll-ai-thread-item.is-active,.ll-chatgpt-like .ll-ai-thread-row.is-active .ll-ai-thread-item{background:#1e293b;border-color:#60a5fa;box-shadow:none}
.ll-chatgpt-like .ll-ai-thread-row.is-pinned .ll-ai-thread-item{background:#21190a;border-color:#f59e0b}
.ll-chatgpt-like .ll-ai-thread-title,.ll-chatgpt-like .ll-ai-thread-meta{color:inherit}
.ll-chatgpt-like .ll-thread-mini-btn{background:#111827;border-color:#334155;color:#fff}
.ll-chatgpt-like .ll-thread-mini-btn.is-danger{color:#fecaca}
.ll-chatgpt-like .ll-btn-light.ll-btn-sm{background:#fff;border:0}
.ll-chatgpt-stage{display:flex;flex-direction:column;min-height:78vh;background:#fff;border:1px solid #dbe4f0;border-radius:24px;overflow:hidden;box-shadow:0 18px 40px rgba(15,23,42,.06)}
.ll-chatgpt-stage-head{padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)}
.ll-chatgpt-kicker{display:inline-flex;padding:4px 10px;border-radius:999px;background:#e2e8f0;color:#0f172a;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.ll-chatgpt-stage-head h3{margin:0 0 6px;font-size:24px;color:#0f172a}
.ll-chatgpt-stage-head p{margin:0;color:#64748b;line-height:1.6}
.ll-chatgpt-like .ll-ai-chat-log{flex:1;padding:26px 22px 18px;background:#fff;overflow:auto;min-height:480px}
.ll-chatgpt-like .ll-ai-bubble{max-width:920px;margin:0 auto 18px}
.ll-chatgpt-like .ll-ai-bubble-user{display:flex;justify-content:flex-end}
.ll-chatgpt-like .ll-ai-user-text{display:inline-block;max-width:min(820px,92%);padding:14px 18px;border-radius:22px;background:#0f172a;color:#fff;line-height:1.7;box-shadow:none}
.ll-chatgpt-like .ll-ai-bubble-ai .ll-ai-answer-card{border:0;background:transparent;box-shadow:none}
.ll-chatgpt-like .ll-ai-bubble-ai .ll-ai-answer-head{padding:0 0 12px;background:transparent;border:0}
.ll-chatgpt-like .ll-ai-bubble-ai .ll-ai-answer-body{padding:0}
.ll-chatgpt-like .ll-ai-bubble-ai .ll-ai-answer-foot{padding:14px 0 0}
.ll-chatgpt-like .ll-ai-bubble-welcome .ll-ai-answer-card{padding-top:4px}
.ll-ai-starter-inline{max-width:920px;margin:6px auto 18px}
.ll-chatgpt-composer-wrap{position:sticky;bottom:0;padding:16px 18px 18px;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,#fff 18%,#fff 100%);border-top:1px solid #eef2f7}
.ll-chatgpt-composer{border:1px solid #dbe4f0;border-radius:26px;padding:12px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.ll-chatgpt-composer textarea{width:100%;min-height:52px;max-height:220px;border:0;outline:none;resize:none;padding:4px 6px 10px;background:transparent;font-size:15px;line-height:1.7;color:#0f172a}
.ll-chatgpt-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ll-chatgpt-composer .ll-ai-composer-note{margin:0;color:#64748b}
.ll-chatgpt-composer #ll-ai-send{border:0;border-radius:999px;padding:12px 18px;background:#0f172a;color:#fff;font-weight:800;cursor:pointer}
.ll-chatgpt-composer #ll-ai-send:disabled{opacity:.6;cursor:not-allowed}
.ll-chatgpt-like .ll-ai-thread-actions{padding:0 6px 2px}
@media (max-width: 1100px){.ll-chatgpt-like .ll-ai-chat-layout{grid-template-columns:1fr}.ll-chatgpt-like .ll-ai-thread-sidebar{position:relative;top:auto}.ll-chatgpt-stage{min-height:unset}}
@media (max-width: 767px){.ll-chatgpt-stage-head{padding:18px}.ll-chatgpt-stage-head h3{font-size:20px}.ll-chatgpt-like .ll-ai-chat-log{padding:18px 14px 12px}.ll-chatgpt-composer-wrap{padding:12px}.ll-chatgpt-composer-actions{flex-direction:column;align-items:stretch}.ll-chatgpt-composer #ll-ai-send{width:100%}}


.ll-chatgpt-minimal .ll-chatgpt-stage{min-height:78vh}
.ll-chatgpt-minimal .ll-chatgpt-stage-head,.ll-chatgpt-minimal .ll-chatgpt-kicker{display:none !important}
.ll-chatgpt-minimal .ll-ai-answer-card{border:0;background:transparent;box-shadow:none;border-radius:0}
.ll-chatgpt-minimal .ll-ai-answer-head,.ll-chatgpt-minimal .ll-ai-answer-badge,.ll-chatgpt-minimal .ll-ai-answer-sub{display:none !important}
.ll-chatgpt-minimal .ll-ai-answer-body{padding:0;color:#0f172a}
.ll-chatgpt-minimal .ll-ai-bubble-ai .ll-ai-answer-body{font-size:15px;line-height:1.8}
.ll-chatgpt-minimal .ll-ai-bubble-welcome{margin-top:8px}
.ll-chatgpt-minimal .ll-ai-thread-sidebar-head strong{font-size:14px}
.ll-chatgpt-minimal .ll-ai-thread-sidebar-head{margin-bottom:10px}
.ll-ai-fab{position:fixed;right:24px;bottom:24px;width:68px;height:68px;z-index:9999;display:flex;align-items:center;justify-content:center;text-decoration:none}
.ll-ai-fab-core{position:relative;display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:999px;background:linear-gradient(135deg,#0f172a 0%,#2563eb 100%);box-shadow:0 18px 40px rgba(37,99,235,.28);animation:llAiFloat 2.8s ease-in-out infinite}
.ll-ai-fab-face{font-size:28px;color:#fff;line-height:1;transform:translateY(-1px)}
.ll-ai-fab-ripple{position:absolute;width:68px;height:68px;border-radius:999px;background:rgba(37,99,235,.18);animation:llAiRipple 2.4s ease-out infinite}
.ll-ai-fab.is-active .ll-ai-fab-core{box-shadow:0 20px 44px rgba(15,23,42,.34)}
@keyframes llAiFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes llAiRipple{0%{transform:scale(.86);opacity:.9}100%{transform:scale(1.45);opacity:0}}
@media (max-width: 767px){.ll-ai-fab{right:16px;bottom:16px;width:60px;height:60px}.ll-ai-fab-core,.ll-ai-fab-ripple{width:60px;height:60px}.ll-ai-fab-face{font-size:24px}}


.ll-ai-fab{position:fixed;right:24px;bottom:24px;width:88px;height:88px;z-index:9999;display:flex;align-items:center;justify-content:center;text-decoration:none;isolation:isolate}
.ll-ai-fab-ripple{position:absolute;inset:8px;border-radius:999px;background:radial-gradient(circle,rgba(59,130,246,.18) 0%,rgba(59,130,246,.08) 55%,rgba(59,130,246,0) 72%);animation:llAiRipple 2.6s ease-out infinite}
.ll-ai-fab-core{position:relative;display:block;width:88px;height:88px;border-radius:999px;background:linear-gradient(180deg,#eff6ff 0%,#dbeafe 100%);box-shadow:0 18px 40px rgba(15,23,42,.20), inset 0 1px 0 rgba(255,255,255,.75);overflow:hidden;animation:llAiFloat 3s ease-in-out infinite}
.ll-ai-mascot-glow{position:absolute;inset:auto 18px 6px 18px;height:16px;border-radius:999px;background:radial-gradient(ellipse at center,rgba(37,99,235,.25) 0%,rgba(37,99,235,0) 72%);filter:blur(3px)}
.ll-ai-mascot-halo{position:absolute;inset:7px;border-radius:999px;border:2px solid rgba(255,255,255,.5);pointer-events:none}
.ll-ai-mascot-img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain;display:block;filter:drop-shadow(0 8px 14px rgba(15,23,42,.16))}
.ll-ai-fab:hover .ll-ai-fab-core{transform:translateY(-2px) scale(1.04)}
.ll-ai-fab.is-active .ll-ai-fab-core{box-shadow:0 20px 44px rgba(15,23,42,.28),0 0 0 4px rgba(37,99,235,.10)}
@keyframes llAiFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes llAiRipple{0%{transform:scale(.88);opacity:.55}100%{transform:scale(1.7);opacity:0}}
@media (max-width: 767px){.ll-ai-fab{right:16px;bottom:16px;width:76px;height:76px}.ll-ai-fab-core{width:76px;height:76px}.ll-ai-fab-ripple{inset:7px}}


/* v7.4.1 mascot states */
.ll-ai-mascot .ll-ai-fab-core::after{content:"";position:absolute;right:8px;bottom:10px;width:22px;height:22px;border-radius:999px;border:2px solid #fff;box-shadow:0 8px 14px rgba(15,23,42,.12);background:#22c55e;z-index:3;transition:all .25s ease}
.ll-ai-mascot.is-normal .ll-ai-fab-core{animation:llAiFloat 3s ease-in-out infinite}
.ll-ai-mascot.is-normal .ll-ai-fab-core::after{background:radial-gradient(circle at 35% 35%,#bbf7d0 0%,#22c55e 60%,#15803d 100%)}
.ll-ai-mascot.is-normal .ll-ai-fab-ripple{opacity:.9}
.ll-ai-mascot.is-responding .ll-ai-fab-core{animation:llAiThinking 1.35s ease-in-out infinite;box-shadow:0 18px 42px rgba(37,99,235,.32),0 0 0 8px rgba(59,130,246,.10)}
.ll-ai-mascot.is-responding .ll-ai-fab-ripple{background:radial-gradient(circle,rgba(59,130,246,.32) 0%,rgba(59,130,246,.14) 52%,rgba(59,130,246,0) 72%);animation:llAiRippleFast 1.15s ease-out infinite}
.ll-ai-mascot.is-responding .ll-ai-fab-core::after{background:radial-gradient(circle at 35% 35%,#dbeafe 0%,#60a5fa 55%,#2563eb 100%);transform:scale(1.08)}
.ll-ai-mascot.is-responding .ll-ai-mascot-img{filter:drop-shadow(0 10px 18px rgba(37,99,235,.24)) saturate(1.03)}
.ll-ai-mascot.is-new-message .ll-ai-fab-core{animation:llAiWiggle 1s ease-in-out infinite;box-shadow:0 18px 46px rgba(249,115,22,.30),0 0 0 8px rgba(251,146,60,.14)}
.ll-ai-mascot.is-new-message .ll-ai-fab-ripple{background:radial-gradient(circle,rgba(251,146,60,.32) 0%,rgba(251,146,60,.12) 48%,rgba(251,146,60,0) 72%);animation:llAiPulseNotice 1.05s ease-out infinite}
.ll-ai-mascot.is-new-message .ll-ai-fab-core::after{background:radial-gradient(circle at 35% 35%,#fed7aa 0%,#fb923c 58%,#ea580c 100%);transform:scale(1.12)}
.ll-ai-mascot.is-new-message .ll-ai-mascot-halo{border-color:rgba(255,255,255,.72)}
@keyframes llAiThinking{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.04)}}
@keyframes llAiRippleFast{0%{transform:scale(.84);opacity:.9}100%{transform:scale(1.28);opacity:0}}
@keyframes llAiWiggle{0%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(-2px) rotate(-3deg)}40%{transform:translateY(0) rotate(3deg)}60%{transform:translateY(-1px) rotate(-2deg)}80%{transform:translateY(0) rotate(2deg)}}
@keyframes llAiPulseNotice{0%{transform:scale(.92);opacity:.92}100%{transform:scale(1.34);opacity:0}}


/* v7.4.2 mascot image states */
.ll-ai-mascot .ll-ai-fab-core{overflow:visible;background:transparent;border:none;box-shadow:none}
.ll-ai-mascot .ll-ai-fab-ripple{inset:-12px;border-radius:999px;background:radial-gradient(circle,rgba(59,130,246,.22) 0%,rgba(59,130,246,.08) 45%,rgba(59,130,246,0) 72%)}
.ll-ai-mascot .ll-ai-mascot-glow,.ll-ai-mascot .ll-ai-mascot-halo,.ll-ai-mascot .ll-ai-fab-core::after{display:none}
.ll-ai-mascot-img{position:relative;inset:auto !important;width:96px !important;height:96px !important;max-width:none;max-height:none;object-fit:contain;display:block;filter:drop-shadow(0 12px 24px rgba(15,23,42,.22))}
.ll-ai-mascot.is-normal .ll-ai-fab-core{animation:llAiFloat 3s ease-in-out infinite}
.ll-ai-mascot.is-waiting .ll-ai-fab-core{animation:llAiThinking 1.6s ease-in-out infinite}
.ll-ai-mascot.is-waiting .ll-ai-fab-ripple{background:radial-gradient(circle,rgba(56,189,248,.28) 0%,rgba(56,189,248,.10) 48%,rgba(56,189,248,0) 72%);animation:llAiRippleFast 1.35s ease-out infinite}
.ll-ai-mascot.is-responding .ll-ai-fab-core,.ll-ai-mascot.is-streaming .ll-ai-fab-core{animation:llAiThinking 1.05s ease-in-out infinite}
.ll-ai-mascot.is-responding .ll-ai-fab-ripple,.ll-ai-mascot.is-streaming .ll-ai-fab-ripple{background:radial-gradient(circle,rgba(59,130,246,.34) 0%,rgba(59,130,246,.14) 52%,rgba(59,130,246,0) 72%);animation:llAiRippleFast .95s ease-out infinite}
.ll-ai-mascot.is-new-message .ll-ai-fab-core{animation:llAiWiggle 1s ease-in-out infinite}
.ll-ai-mascot.is-new-message .ll-ai-fab-ripple{background:radial-gradient(circle,rgba(251,146,60,.34) 0%,rgba(251,146,60,.14) 52%,rgba(251,146,60,0) 72%);animation:llAiPulseNotice 1s ease-out infinite}
.ll-ai-mascot.is-disconnected .ll-ai-fab-core{animation:none;filter:grayscale(.08)}
.ll-ai-mascot.is-disconnected .ll-ai-fab-ripple{background:radial-gradient(circle,rgba(239,68,68,.30) 0%,rgba(239,68,68,.12) 50%,rgba(239,68,68,0) 72%);animation:llAiPulseNotice 1.4s ease-out infinite}

/* ===== Login redesign v7.5 ===== */
.ll-auth-home{min-height:100vh;background:linear-gradient(180deg,#f3f4f6 0%,#eef2ff 40%,#f8fafc 100%);color:#0f172a}
.ll-auth-hero{position:relative;overflow:hidden;padding:24px 18px 44px;background:radial-gradient(circle at top left,rgba(168,85,247,.40),transparent 28%),radial-gradient(circle at top right,rgba(59,130,246,.35),transparent 24%),linear-gradient(135deg,#5b58d6 0%,#8b3dce 50%,#c084fc 100%)}
.ll-auth-hero::before{content:"";position:absolute;inset:auto -120px -180px auto;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.14)}
.ll-auth-hero::after{content:"";position:absolute;left:-120px;bottom:-180px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.10)}
.ll-auth-brandbar,.ll-auth-hero__grid,.ll-auth-feature-strip{position:relative;z-index:1;max-width:1200px;margin:0 auto}
.ll-auth-brandbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:2px 0 28px;color:#fff}
.ll-auth-brandmark{display:flex;align-items:center;gap:12px;font-size:34px;font-weight:800;letter-spacing:.02em}
.ll-auth-brandmark span{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);font-size:28px;box-shadow:0 10px 30px rgba(0,0,0,.14)}
.ll-auth-brandbar__meta{font-size:14px;color:rgba(255,255,255,.86)}
.ll-auth-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}
.ll-auth-copy__panel{background:rgba(64,16,118,.42);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);padding:34px;border-radius:28px;box-shadow:0 20px 70px rgba(29,20,84,.28);color:#fff}
.ll-auth-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.16);font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.ll-auth-copy__panel h1{margin:0 0 14px;font-size:48px;line-height:1.08;color:#fff}
.ll-auth-copy__panel p{margin:0;color:rgba(255,255,255,.9);font-size:18px;line-height:1.7;max-width:700px}
.ll-auth-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.ll-auth-btn{display:inline-flex;align-items:center;justify-content:center;min-width:168px;height:54px;padding:0 22px;border-radius:16px;font-weight:800;text-decoration:none;color:#fff;box-shadow:0 14px 28px rgba(15,23,42,.18);transition:transform .18s ease, box-shadow .18s ease, filter .18s ease}
.ll-auth-btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(15,23,42,.22);filter:brightness(1.03)}
.ll-auth-btn--student{background:linear-gradient(135deg,#7c83ff,#6574ff)}
.ll-auth-btn--teacher{background:linear-gradient(135deg,#16a34a,#22c55e)}
.ll-auth-visual-wrap{display:flex;align-items:center;justify-content:center}
.ll-login-visual{position:relative;width:min(100%,540px);padding:26px;border-radius:30px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18);box-shadow:0 28px 60px rgba(34,27,84,.25);backdrop-filter:blur(8px);color:#fff;overflow:hidden}
.ll-login-visual__badge{display:inline-flex;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.2);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-bottom:14px}
.ll-login-visual h3{margin:0 0 10px;font-size:30px;line-height:1.2;color:#fff}
.ll-login-visual p{margin:0 0 18px;line-height:1.65;color:rgba(255,255,255,.88)}
.ll-login-dashboard{position:relative;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 24px 50px rgba(15,23,42,.18)}
.ll-login-dashboard__top{display:flex;gap:8px;padding:14px 16px;background:#eef2ff}
.ll-login-dashboard__top span{width:10px;height:10px;border-radius:50%;background:#c7d2fe}
.ll-login-dashboard__body{display:grid;grid-template-columns:88px 1fr;min-height:250px}
.ll-login-dashboard__sidebar{display:grid;align-content:start;gap:10px;padding:18px 14px;background:linear-gradient(180deg,#4338ca,#6d28d9)}
.ll-login-dashboard__sidebar b{display:block;height:14px;border-radius:999px;background:rgba(255,255,255,.3)}
.ll-login-dashboard__content{padding:18px;background:linear-gradient(180deg,#fff,#f8fafc)}
.ll-login-chart{display:grid;grid-template-columns:repeat(4,1fr);align-items:end;gap:12px;height:116px;padding:14px 16px;border-radius:18px;background:#eef2ff}
.ll-login-chart i{display:block;border-radius:12px 12px 6px 6px;background:linear-gradient(180deg,#7c3aed,#60a5fa)}
.ll-login-chart i:nth-child(1){height:44%}.ll-login-chart i:nth-child(2){height:78%}.ll-login-chart i:nth-child(3){height:58%}.ll-login-chart i:nth-child(4){height:92%}
.ll-login-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.ll-login-stats span,.ll-login-cards em{display:block;border-radius:16px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.08)}
.ll-login-stats span{height:68px}
.ll-login-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.ll-login-cards em{height:96px}
.ll-login-floating{position:absolute;border-radius:50%;background:rgba(255,255,255,.22);filter:blur(.2px)}
.ll-login-floating--a{right:16px;top:18px;width:18px;height:18px}
.ll-login-floating--b{right:54px;top:56px;width:10px;height:10px}
.ll-login-floating--c{left:20px;bottom:20px;width:14px;height:14px}
.ll-auth-feature-strip{padding:54px 18px 80px}
.ll-auth-feature-strip__head{text-align:center;max-width:840px;margin:0 auto 24px}
.ll-auth-feature-strip__head h2{font-size:38px;line-height:1.18;margin:0;color:#111827}
.ll-auth-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ll-auth-feature-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:28px;box-shadow:0 18px 40px rgba(15,23,42,.06);text-align:center}
.ll-auth-feature-card__icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:18px;background:linear-gradient(135deg,#eef2ff,#f5d0fe);font-size:28px}
.ll-auth-feature-card h3{margin:0 0 12px;font-size:28px;line-height:1.2;color:#111827}
.ll-auth-feature-card p{margin:0;color:#4b5563;line-height:1.8;font-size:17px}
.ll-auth-home--student .ll-auth-hero{background:radial-gradient(circle at top right,rgba(59,130,246,.35),transparent 26%),radial-gradient(circle at bottom left,rgba(96,165,250,.3),transparent 22%),linear-gradient(135deg,#4057d6 0%,#4f46e5 46%,#60a5fa 100%)}
.ll-auth-home--teacher .ll-auth-hero{background:radial-gradient(circle at top right,rgba(74,222,128,.35),transparent 28%),radial-gradient(circle at bottom left,rgba(253,224,71,.18),transparent 22%),linear-gradient(135deg,#0f766e 0%,#15803d 52%,#22c55e 100%)}
.ll-auth-home--student .ll-auth-copy__panel,.ll-auth-home--teacher .ll-auth-copy__panel{max-width:620px}
.ll-auth-form{display:grid;gap:12px;margin-top:20px}
.ll-auth-form label{font-weight:700;color:#fff;font-size:14px}
.ll-auth-form input[type=text],.ll-auth-form input[type=password]{height:54px;border-radius:16px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.96);padding:0 16px;font-size:16px;color:#0f172a;box-sizing:border-box;width:100%}
.ll-auth-form input[type=text]:focus,.ll-auth-form input[type=password]:focus{outline:none;border-color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18)}
.ll-auth-password{position:relative;width:100%}.ll-auth-password .ll-password-input{padding-right:56px}.ll-password-toggle{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:36px;height:36px;border:none;border-radius:999px;background:rgba(15,23,42,.06);color:#0f172a;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;line-height:1}.ll-password-toggle:hover{background:rgba(15,23,42,.12)}.ll-password-toggle:focus{outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.22)}
.ll-auth-check{display:flex;align-items:center;gap:10px;margin-top:2px}
.ll-auth-check input{accent-color:#2563eb}
.ll-auth-check span{font-weight:500}
.ll-auth-submit{height:54px;border:0;border-radius:16px;color:#fff;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 18px 32px rgba(15,23,42,.16);transition:transform .18s ease,filter .18s ease}
.ll-auth-submit:hover{transform:translateY(-1px);filter:brightness(1.03)}
.ll-auth-submit.is-student{background:linear-gradient(135deg,#4f46e5,#2563eb)}
.ll-auth-submit.is-teacher{background:linear-gradient(135deg,#15803d,#16a34a)}
.ll-auth-switch{margin-top:14px;color:rgba(255,255,255,.92);font-size:15px}
.ll-auth-switch a{color:#fff;font-weight:700;text-decoration:underline}
.ll-auth-error{margin:18px 0 0;background:rgba(127,29,29,.92);border-color:rgba(255,255,255,.16)}
@media (max-width: 980px){.ll-auth-hero__grid{grid-template-columns:1fr}.ll-auth-copy__panel h1{font-size:38px}.ll-auth-feature-grid{grid-template-columns:1fr}.ll-auth-feature-card h3{font-size:24px}.ll-auth-brandbar{flex-direction:column;align-items:flex-start}.ll-auth-visual-wrap{order:-1}}
@media (max-width: 640px){.ll-auth-hero{padding:18px 14px 32px}.ll-auth-copy__panel{padding:24px;border-radius:24px}.ll-auth-copy__panel h1{font-size:30px}.ll-auth-copy__panel p{font-size:16px}.ll-auth-actions{flex-direction:column}.ll-auth-btn{width:100%}.ll-auth-brandmark{font-size:26px}.ll-auth-feature-strip__head h2{font-size:28px}.ll-login-visual{padding:18px}.ll-login-dashboard__body{grid-template-columns:74px 1fr;min-height:210px}}


/* v7.6 AI sống */
.ll-ai-mascot{overflow:visible}
.ll-ai-ai-live, .ll-ai-speech-bubble{}
.ll-ai-speech-bubble{position:absolute;right:88px;bottom:28px;min-width:180px;max-width:240px;padding:10px 12px 11px;border-radius:16px 16px 4px 16px;background:linear-gradient(135deg,#0f172a 0%,#111827 100%);color:#fff;box-shadow:0 18px 40px rgba(15,23,42,.26);opacity:0;transform:translateY(8px) scale(.97);pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:20}
.ll-ai-speech-bubble::after{content:"";position:absolute;right:-8px;bottom:14px;border-width:8px 0 8px 10px;border-style:solid;border-color:transparent transparent transparent #111827}
.ll-ai-speech-label{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#93c5fd;margin-bottom:4px}
.ll-ai-speech-text{display:block;font-size:13px;line-height:1.45;min-height:19px}
.ll-ai-mascot:hover .ll-ai-speech-bubble,.ll-ai-mascot.is-speaking .ll-ai-speech-bubble,.ll-ai-mascot:focus .ll-ai-speech-bubble{opacity:1;transform:translateY(0) scale(1)}
.ll-ai-mascot.is-speaking .ll-ai-fab-core{animation:llAiSpeaking 1.25s ease-in-out infinite}
.ll-ai-mascot.is-speaking .ll-ai-fab-ripple{background:radial-gradient(circle,rgba(34,197,94,.24) 0%,rgba(34,197,94,.10) 52%,rgba(34,197,94,0) 72%);animation:llAiPulseNotice 1.1s ease-out infinite}
.ll-ai-speech-text::after{content:"";display:inline-block;width:1px;height:14px;background:rgba(255,255,255,.8);margin-left:2px;vertical-align:-2px;animation:llAiCaret 1s steps(1) infinite}
@keyframes llAiSpeaking{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.03)}}
@keyframes llAiCaret{0%,49%{opacity:1}50%,100%{opacity:0}}
@media (max-width: 767px){.ll-ai-speech-bubble{right:72px;bottom:18px;max-width:180px;padding:9px 11px}.ll-ai-speech-text{font-size:12px}}


/* v7.6.1 auth branding hard-fix */
.ll-auth-home .ll-auth-brandbar__meta,
.ll-auth-home .site-description,
.ll-auth-home .tagline,
.ll-auth-home .ll-auth-copy__panel > p:first-of-type:empty{display:none !important;}
.ll-auth-home .ll-auth-copy__panel > p:empty{display:none !important;}


/* ===== v7.6.2 branding + desktop feature visibility fix ===== */
.ll-auth-home .ll-auth-brandmark strong{letter-spacing:0 !important}
.ll-auth-home .ll-auth-feature-strip,
.ll-auth-home .ll-auth-feature-strip__head,
.ll-auth-home .ll-auth-feature-grid,
.ll-auth-home .ll-auth-feature-card{display:block;visibility:visible;opacity:1}
.ll-auth-home .ll-auth-feature-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:24px !important}
.ll-auth-home .ll-auth-feature-strip{position:relative !important;z-index:2 !important;padding:54px 18px 80px !important;max-width:1200px !important;margin:0 auto !important}
.ll-auth-home .ll-auth-feature-strip__head{margin:0 auto 24px !important;text-align:center !important}
.ll-auth-home .ll-auth-feature-strip__head .ll-auth-kicker{background:#ffffff !important;color:#7c3aed !important;box-shadow:0 10px 25px rgba(124,58,237,.12) !important}
.ll-auth-home .ll-auth-feature-strip__head h2{display:block !important;color:#111827 !important}
@media (min-width: 981px){
  .ll-auth-home{overflow-x:hidden !important}
  .ll-auth-home .ll-auth-feature-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}


/* ===== v7.6.3 remove feature strip on login ===== */
.ll-auth-home .ll-auth-feature-strip{display:none !important;}

/* ===== v7.6.4 user password hint ===== */
.ll-form-hint{font-size:13px;line-height:1.55;color:#6b7280;margin-top:-4px}
.ll-grid-2 .ll-col-span-2{grid-column:1 / -1}

/* ===== v7.7.0 dossier references ===== */
.ll-ref-manager{display:grid;gap:12px}
.ll-ref-inline-form{display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px}
.ll-reference-links{display:grid;gap:10px}
.ll-reference-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;text-decoration:none;color:#111827;transition:.2s ease}
.ll-reference-link:hover{border-color:#c7d2fe;box-shadow:0 10px 24px rgba(15,23,42,.06);transform:translateY(-1px)}
.ll-reference-icon{font-size:16px;line-height:1}
.ll-reference-text{font-weight:600;line-height:1.45}
.ll-ai-reference-hint{margin-top:14px;padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}
@media (max-width: 767px){.ll-ref-inline-form{grid-template-columns:1fr}}


/* ===== v7.7.2 reference layout + AI hint fix ===== */
.ll-reference-links{display:grid;gap:12px;min-height:0}
.ll-reference-link{min-width:0;word-break:break-word;align-items:flex-start}
.ll-reference-text{min-width:0;display:block;white-space:normal;word-break:break-word}
.ll-doc-panel,.ll-doc-panel.is-active{height:auto !important;min-height:0 !important}
.ll-right-panels{overflow:visible !important}
.ll-doc-panel.is-active{grid-template-rows:none !important;align-items:start !important}
.ll-doc-panel .ll-side-card{height:auto !important;min-height:0 !important;overflow:visible !important}
.ll-doc-panel .ll-side-card .ll-doc-list,.ll-doc-panel .ll-side-card .ll-reference-links{max-height:none !important;overflow:visible !important;padding-right:0 !important}
.ll-doc-panel .ll-side-card:nth-child(2),.ll-doc-panel .ll-side-card:nth-child(3),.ll-doc-panel .ll-side-card:nth-child(4){display:flex;min-height:0 !important}
.ll-doc-panel .ll-side-card:nth-child(4){margin-top:0}
.ll-ai-reference-hint a{font-weight:700;text-decoration:underline}
@media (max-width:960px){.ll-reference-link{padding:12px 14px}}


.ll-edit-dossier-grid{margin-top:18px;align-items:start;}
.ll-edit-left-tree{position:sticky;top:18px;max-height:calc(100vh - 220px);}
.ll-edit-tree .ll-tree-group{margin-bottom:10px;}
.ll-edit-tree-link{justify-content:flex-start;}
.ll-edit-tree-link .ll-tree-expand{display:none;}
.ll-edit-right-panels{min-width:0;}
.ll-edit-doc-panel.is-active{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;}
.ll-edit-side-card textarea{width:100%;min-height:120px;}
.ll-edit-side-card .ll-tree-toolbar{margin-bottom:14px;}
@media (max-width: 960px){
  .ll-edit-left-tree{position:static;max-height:none;}
}

.ll-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ll-autosave-status{font-size:13px;color:#64748b}
.ll-autosave-status.is-saving{color:#2563eb}
.ll-autosave-status.is-saved{color:#15803d}
.ll-autosave-status.is-error{color:#b91c1c}
.ll-edit-master-store{display:none!important}
.ll-edit-doc-panel--placeholder .ll-side-card{min-height:120px;display:flex;align-items:center}

.ll-node.is-meta-open{box-shadow:0 8px 24px rgba(15,23,42,.06)}
.ll-node-meta{display:none}
.ll-node.is-meta-open>.ll-node-meta{display:grid}
.ll-tree-editor-wrap[data-tree-ready="loading"]>.ll-tree-editor{min-height:120px;position:relative}
.ll-tree-editor-wrap[data-tree-ready="loading"]>.ll-tree-editor:before{content:"Đang dựng menu con và tài liệu...";display:block;padding:14px 16px;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b;background:#f8fafc}


.ll-node-meta{align-items:start}
.ll-node-panel{min-width:0}
.ll-node-panel-files,.ll-node-panel-videos{display:block}
.ll-node[data-open-panel="files"] .ll-node-panel-videos{display:none}
.ll-node[data-open-panel="videos"] .ll-node-panel-files{display:none}
.ll-node-row .ll-node-actions{display:flex;flex-wrap:wrap;gap:8px}
.ll-node-row .ll-node-actions button{margin-right:0}
@media (min-width: 961px){.ll-node-row .ll-node-actions button{min-width:120px}}

/* v7.8.5 horizontal subtree scroll */
.ll-tree-editor-wrap{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;padding-bottom:10px;}
.ll-tree-editor-wrap>.ll-tree-editor{min-width:100%;width:max-content;}
.ll-tree-editor-wrap .ll-node{min-width:100%;width:max-content;box-sizing:border-box;}
.ll-tree-editor-wrap .ll-children{margin-left:0;padding-left:28px;margin-top:10px;display:flex;flex-direction:column;gap:10px;min-width:calc(100% + 28px);width:max-content;box-sizing:border-box;}
.ll-tree-editor-wrap .ll-node>.ll-node-meta{min-width:0;}
.ll-tree-editor-wrap::-webkit-scrollbar{height:12px;}
.ll-tree-editor-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;border:2px solid transparent;background-clip:padding-box;}
@media (max-width: 960px){
  .ll-tree-editor-wrap .ll-children{padding-left:18px;min-width:calc(100% + 18px);}
  .ll-tree-editor-wrap .ll-node{width:100%;min-width:100%;}
  .ll-tree-editor-wrap>.ll-tree-editor{width:100%;}
}

/* v7.8.6 professional node action layout */
.ll-node-row{
  display:grid;
  grid-template-columns:28px minmax(280px,1fr) auto;
  grid-template-areas:
    "handle title public"
    ". actions actions";
  align-items:start;
  column-gap:12px;
  row-gap:12px;
}
.ll-node-handle{grid-area:handle;align-self:center;}
.ll-node-title{grid-area:title;min-height:56px;font-size:16px;}
.ll-public-toggle{grid-area:public;white-space:nowrap;align-self:center;min-height:56px;}
.ll-node-row .ll-node-actions{
  grid-area:actions;
  display:grid;
  grid-template-columns:repeat(2,minmax(160px,220px));
  gap:10px 12px;
  align-items:stretch;
  justify-content:start;
}
.ll-node-row .ll-node-actions .ll-node-add-child{grid-column:1 / span 2;min-height:48px;font-weight:700;}
.ll-node-row .ll-node-actions .ll-node-files,
.ll-node-row .ll-node-actions .ll-node-videos,
.ll-node-row .ll-node-actions .ll-node-upload-files,
.ll-node-row .ll-node-actions .ll-node-upload-videos{min-height:46px;}
.ll-node-row .ll-node-actions .ll-node-remove{
  grid-column:1 / span 2;
  max-width:180px;
  min-height:44px;
  background:#eef2f7;
  color:#1e293b;
  border-color:#cbd5e1;
}
.ll-node-row .ll-node-actions button{margin:0;width:100%;border-radius:10px;}
@media (max-width: 1180px){
  .ll-node-row{
    grid-template-columns:28px minmax(220px,1fr);
    grid-template-areas:
      "handle title"
      ". public"
      ". actions";
  }
  .ll-public-toggle{white-space:normal;min-height:auto;}
}
@media (max-width: 760px){
  .ll-node-row .ll-node-actions{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ll-node-row .ll-node-actions .ll-node-remove{max-width:none;}
}


/* v7.8.7 toolbar with icons + stacked detail rows */
.ll-node-row .ll-node-actions.ll-node-toolbar{
  display:flex;
  flex-direction:column;
  gap:10px;
  width:min(520px,100%);
}
.ll-node-row .ll-node-actions.ll-node-toolbar > .button,
.ll-node-row .ll-node-actions.ll-node-toolbar > .ll-toolbar-row{
  width:100%;
}
.ll-node-row .ll-node-actions.ll-node-toolbar .ll-toolbar-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
}
.ll-node-row .ll-node-actions.ll-node-toolbar button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:10px 14px;
  border-radius:12px;
  font-weight:600;
}
.ll-node-row .ll-node-actions.ll-node-toolbar .dashicons{
  font-size:18px;
  width:18px;
  height:18px;
  line-height:18px;
}
.ll-node-row .ll-node-actions.ll-node-toolbar .ll-btn-label{
  display:inline-block;
}
.ll-node-row .ll-node-actions.ll-node-toolbar .ll-node-add-child{
  min-height:50px;
  font-weight:700;
}
.ll-node-row .ll-node-actions.ll-node-toolbar .ll-node-remove{
  align-self:flex-start;
  width:auto;
  min-width:140px;
  background:#eef2f7;
  color:#1e293b;
  border-color:#cbd5e1;
}
.ll-node-row .ll-node-actions.ll-node-toolbar .ll-node-remove:hover{
  background:#e2e8f0;
  color:#0f172a;
}
.ll-node-meta .ll-attach-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:10px;
}
.ll-node-meta .ll-chip{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:48px;
  border-radius:12px;
  padding:10px 12px;
  box-sizing:border-box;
}
.ll-node-meta .ll-chip-text{
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ll-node-meta .ll-chip-remove{
  margin-left:auto;
}
@media (max-width: 760px){
  .ll-node-row .ll-node-actions.ll-node-toolbar{
    width:100%;
  }
  .ll-node-row .ll-node-actions.ll-node-toolbar .ll-toolbar-row{
    grid-template-columns:1fr;
  }
  .ll-node-row .ll-node-actions.ll-node-toolbar .ll-node-remove{
    width:100%;
    min-width:0;
  }
  .ll-node-meta .ll-chip-text{
    white-space:normal;
    overflow:visible;
    text-overflow:initial;
    word-break:break-word;
  }
}


/* v7.8.8 toolbar icons cache-bust + stacked attachment rows */
.ll-node-row .ll-node-actions.ll-node-toolbar .button .dashicons{display:inline-flex !important;align-items:center;justify-content:center;}
.ll-node-row .ll-node-actions.ll-node-toolbar .button .ll-btn-label{display:inline-block !important;}
.ll-node-meta{grid-template-columns:1fr !important;}
.ll-node-meta .ll-node-panel{width:100%;}
.ll-node-meta .ll-attach-list{display:flex !important;flex-direction:column !important;gap:12px !important;width:100%;}
.ll-node-meta .ll-attach-list > .ll-chip{display:flex !important;flex-direction:row !important;align-items:center !important;width:100% !important;max-width:none !important;margin:0 !important;}
.ll-node-meta .ll-chip-text{white-space:normal !important;overflow:visible !important;text-overflow:unset !important;word-break:break-word;}


/* v7.8.9 edit dossier balanced columns */
.ll-edit-dossier-grid{align-items:stretch !important;grid-template-columns:minmax(360px,420px) minmax(0,1fr);}
.ll-edit-left-tree{position:sticky;top:18px;height:auto !important;max-height:none !important;overflow:visible !important;align-self:start;}
.ll-edit-left-tree > .ll-tree{overflow:visible !important;max-height:none !important;padding-right:0 !important;}
.ll-edit-right-panels{min-width:0;height:auto;max-height:none;overflow:hidden;border:1px solid #dbe2ea;border-radius:20px;background:#f8fafc;padding:18px;box-sizing:border-box;}
.ll-edit-right-panels.is-height-synced{overflow-y:auto;overflow-x:hidden;}
.ll-edit-right-panels::-webkit-scrollbar{width:10px;height:10px;}
.ll-edit-right-panels::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;border:2px solid transparent;background-clip:padding-box;}
.ll-edit-right-panels .ll-edit-doc-panel,.ll-edit-right-panels .ll-edit-doc-panel.is-active{height:auto !important;min-height:0 !important;}
.ll-edit-right-panels .ll-edit-side-card{overflow:visible !important;}
@media (max-width: 960px){
  .ll-edit-dossier-grid{grid-template-columns:1fr;}
  .ll-edit-left-tree{position:static;height:auto !important;}
  .ll-edit-left-tree > .ll-tree{overflow:visible !important;}
  .ll-edit-right-panels,.ll-edit-right-panels.is-height-synced{height:auto !important;max-height:none !important;overflow:visible !important;padding:0;border:0;background:transparent;}
}


/* v7.8.10 hard sync edit panes */
.ll-edit-dossier-grid{align-items:start !important;}
.ll-edit-left-tree{position:relative !important; top:auto !important; align-self:start !important; height:auto !important; max-height:none !important; overflow:visible !important;}
.ll-edit-left-tree > .ll-tree{max-height:none !important; overflow:visible !important; padding-right:0 !important;}
.ll-edit-right-panels,
.ll-edit-right-panels.is-height-synced{align-self:start !important; min-height:0 !important; box-sizing:border-box !important; overflow-y:auto !important; overflow-x:hidden !important; overscroll-behavior:contain;}
.ll-edit-right-panels > .ll-edit-doc-panel,
.ll-edit-right-panels > .ll-edit-doc-panel.is-active{min-height:0 !important;}
.ll-edit-right-panels::-webkit-scrollbar{width:10px;}
.ll-edit-right-panels::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;}
@media (max-width: 960px){
  .ll-edit-right-panels,
  .ll-edit-right-panels.is-height-synced{height:auto !important; max-height:none !important; overflow:visible !important;}
}


/* v7.8.11 compact professional buttons for right edit pane */
.ll-edit-right-panels .ll-node-row .ll-node-actions.ll-node-toolbar{width:min(430px,100%);gap:8px;}
.ll-edit-right-panels .ll-node-row .ll-node-actions.ll-node-toolbar .ll-toolbar-row{gap:8px 10px;}
.ll-edit-right-panels .ll-node-row .ll-node-actions.ll-node-toolbar button{min-height:38px;padding:8px 12px;border-radius:10px;font-size:14px;line-height:1.2;font-weight:600;gap:8px;box-shadow:none;}
.ll-edit-right-panels .ll-node-row .ll-node-actions.ll-node-toolbar .dashicons{font-size:15px;width:15px;height:15px;line-height:15px;}
.ll-edit-right-panels .ll-node-row .ll-node-actions.ll-node-toolbar .ll-node-add-child{min-height:40px;font-size:14px;}
.ll-edit-right-panels .ll-node-row .ll-node-actions.ll-node-toolbar .ll-node-files,
.ll-edit-right-panels .ll-node-row .ll-node-actions.ll-node-toolbar .ll-node-videos,
.ll-edit-right-panels .ll-node-row .ll-node-actions.ll-node-toolbar .ll-node-upload-files,
.ll-edit-right-panels .ll-node-row .ll-node-actions.ll-node-toolbar .ll-node-upload-videos{min-height:38px;}
.ll-edit-right-panels .ll-node-row .ll-node-actions.ll-node-toolbar .ll-node-remove{min-height:36px;min-width:112px;padding:8px 12px;}
.ll-edit-right-panels .ll-node-row .ll-node-actions.ll-node-toolbar .ll-btn-label{font-size:14px;}
@media (max-width:760px){
  .ll-edit-right-panels .ll-node-row .ll-node-actions.ll-node-toolbar{width:100%;}
  .ll-edit-right-panels .ll-node-row .ll-node-actions.ll-node-toolbar button{font-size:13px;padding:8px 10px;}
}


/* v7.8.14 edit dossier desktop uses full-width stacked mobile-style layout */
.ll-edit-dossier-grid{
  grid-template-columns:1fr !important;
  gap:16px !important;
  min-height:0 !important;
  height:auto !important;
  align-items:start !important;
}
.ll-edit-left-tree,
.ll-edit-right-panels,
.ll-edit-doc-panel,
.ll-edit-doc-panel.is-active{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
}
.ll-edit-left-tree{
  order:1;
  position:static !important;
  top:auto !important;
  overflow:visible !important;
  max-height:none !important;
}
.ll-edit-left-tree > .ll-tree{
  overflow:visible !important;
  max-height:none !important;
  padding-right:0 !important;
}
.ll-edit-left-tree .ll-tree-group{margin-bottom:12px;}
.ll-edit-right-panels{
  order:2;
  overflow:visible !important;
  display:block !important;
}
.ll-edit-doc-panel.is-active{
  display:block !important;
}
.ll-edit-doc-panel:not(.is-active){display:none !important;}
.ll-edit-doc-panel .ll-edit-side-card,
.ll-edit-doc-panel .ll-side-card{
  height:auto !important;
  overflow:visible !important;
}


/* v7.8.18 dossier detail vertical flow + 8-tap menu rebalance */
:root{
  --ll-dossier-left-col:minmax(408px,490px);
}
.ll-dossier-grid{
  grid-template-columns:var(--ll-dossier-left-col) minmax(0,1fr) !important;
  gap:20px;
}
.ll-left-tree{
  padding:20px 20px 18px;
  border-radius:22px;
  background:linear-gradient(180deg,#fbfdff 0%,#f8fafc 100%);
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.ll-left-tree h3{
  margin-bottom:14px;
  font-size:17px;
  line-height:1.3;
  letter-spacing:.01em;
}
.ll-tree-group{
  margin-bottom:10px;
}
.ll-tree-group > .ll-tree-link.is-tap{
  min-height:48px;
  padding:11px 16px;
  border-radius:16px;
  font-size:14px !important;
  line-height:1.45;
  font-weight:700;
}
.ll-tree-group > .ll-tree-link.is-tap .ll-tree-label{
  text-transform:none;
  letter-spacing:0;
}
.ll-tree-node > .ll-tree-link,
.ll-tree-group > .ll-tree-link{
  padding:10px 13px;
}
.ll-tree-node .ll-tree-link{
  font-size:14px;
  line-height:1.45;
}
.ll-tree-link .ll-tree-expand{
  font-size:12px;
}
.ll-tree-node .ll-subtree{
  padding-left:12px;
}
.ll-right-panels{
  min-width:0;
}
.ll-doc-panel.is-active{
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:
    "summary"
    "files"
    "videos"
    "refs";
  grid-template-rows:auto auto auto auto;
  gap:18px;
}
.ll-doc-panel.is-active > .ll-side-card:nth-child(1){grid-area:summary;}
.ll-doc-panel.is-active > .ll-side-card:nth-child(2){grid-area:files;}
.ll-doc-panel.is-active > .ll-side-card:nth-child(3){grid-area:videos;}
.ll-doc-panel.is-active > .ll-side-card:nth-child(4){grid-area:refs;}
.ll-doc-panel .ll-side-card{
  border-radius:20px;
  padding:20px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.ll-doc-panel .ll-side-card h3{
  font-size:17px;
  margin-bottom:14px;
}
.ll-doc-panel .ll-side-card:first-child{
  min-height:0;
}
.ll-doc-panel .ll-side-card:nth-child(2),
.ll-doc-panel .ll-side-card:nth-child(3){
  min-height:0;
}
.ll-doc-panel .ll-side-card:nth-child(4){
  min-height:0;
}
.ll-doc-panel .ll-side-card .ll-doc-list,
.ll-doc-panel .ll-side-card .ll-reference-links{
  max-height:none;
  overflow:auto;
  padding-right:6px;
}
.ll-doc-panel .ll-side-card .ll-doc-list::-webkit-scrollbar,
.ll-doc-panel .ll-side-card .ll-reference-links::-webkit-scrollbar{width:10px;height:10px;}
.ll-doc-panel .ll-side-card .ll-doc-list::-webkit-scrollbar-thumb,
.ll-doc-panel .ll-side-card .ll-reference-links::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;border:2px solid transparent;background-clip:padding-box;}
.ll-reference-link{
  padding:12px 14px;
  border-radius:14px;
}
@media (max-width: 1280px){
  :root{
    --ll-dossier-left-col:minmax(380px,440px);
  }
  .ll-doc-panel.is-active{
    grid-template-columns:1fr;
    grid-template-areas:
      "summary"
      "files"
      "videos"
      "refs";
  }
}
@media (max-width: 960px){
  :root{
    --ll-dossier-left-col:1fr;
  }
  .ll-left-tree{
    padding:16px;
    border-radius:18px;
  }
  .ll-left-tree h3{
    font-size:16px;
  }
  .ll-tree-group > .ll-tree-link.is-tap{
    font-size:14px !important;
    line-height:1.4;
    padding:12px 14px;
  }
  .ll-tree-node .ll-tree-link{
    font-size:14px;
  }
  .ll-doc-panel.is-active{
    gap:14px;
  }
  .ll-doc-panel .ll-side-card{
    padding:16px;
  }
  .ll-doc-panel .ll-side-card:nth-child(2),
  .ll-doc-panel .ll-side-card:nth-child(3){
    min-height:0;
  }
  .ll-doc-panel .ll-side-card .ll-doc-list,
  .ll-doc-panel .ll-side-card .ll-reference-links{
    max-height:none;
    overflow:visible;
    padding-right:0;
  }
}


/* v7.8.19 edit dossier stacked top menu + full detail panels */
.ll-edit-dossier-grid[data-edit-layout="stacked"]{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:18px !important;
  align-items:start !important;
}
.ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-left-tree{
  position:static !important;
  order:1;
  width:100%;
  padding:18px 20px;
  border-radius:20px;
  background:linear-gradient(180deg,#fbfdff 0%,#f8fafc 100%);
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-left-tree > h3{
  margin:0 0 14px;
  font-size:17px;
}
.ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-tree{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-tree .ll-tree-group{
  margin:0;
}
.ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-tree-link{
  min-height:48px;
  padding:11px 16px;
  border-radius:16px;
  font-size:14px;
  line-height:1.4;
  font-weight:700;
}
.ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-right-panels{
  order:2;
  display:grid !important;
  grid-template-columns:1fr;
  gap:18px;
  width:100%;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  overflow:visible !important;
  height:auto !important;
  max-height:none !important;
}
.ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel,
.ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel.is-active{
  display:grid !important;
  grid-template-columns:1fr;
  gap:16px;
  padding:20px;
  border:1px solid #dbe2ea;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 10px 28px rgba(15,23,42,.05);
  scroll-margin-top:18px;
}
.ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel .ll-edit-side-card,
.ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel .ll-side-card{
  border-radius:18px;
  padding:18px;
  background:#fff;
  box-shadow:0 6px 18px rgba(15,23,42,.04);
}
.ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel .ll-edit-side-card h3{
  margin-bottom:12px;
}
@media (max-width: 960px){
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-left-tree{
    padding:16px;
    border-radius:18px;
  }
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel.is-active{
    padding:16px;
    border-radius:18px;
    gap:14px;
  }
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel .ll-edit-side-card,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel .ll-side-card{
    padding:14px;
    border-radius:16px;
  }
}

/* v7.8.20 mobile fix for edit dossier detail fit - desktop unchanged */
@media (max-width: 960px){
  .ll-edit-dossier-grid[data-edit-layout="stacked"],
  .ll-edit-dossier-grid[data-edit-layout="stacked"] *{
    box-sizing:border-box;
  }
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-right-panels,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel.is-active,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-side-card,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-side-card,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-editor-wrap,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-editor,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-meta,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-panel,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-video-inline-form,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-attach-list,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-chip{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-right-panels,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel.is-active,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-side-card,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-side-card,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-editor-wrap{
    overflow-x:hidden !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-editor-wrap{
    padding-bottom:0;
  }
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-editor-wrap > .ll-tree-editor,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-editor-wrap .ll-node,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-editor-wrap .ll-children{
    width:100% !important;
    min-width:0 !important;
  }
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-editor-wrap .ll-children{
    padding-left:12px !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-areas:
      "title"
      "public"
      "actions" !important;
    gap:10px !important;
  }
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-handle{
    display:none !important;
  }
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-title,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-public-toggle{
    min-height:0 !important;
    width:100% !important;
  }
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-public-toggle{
    white-space:normal !important;
    align-self:start !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions.ll-node-toolbar,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions.ll-node-toolbar .ll-toolbar-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
    gap:8px !important;
  }
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions button,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions.ll-node-toolbar button,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions.ll-node-toolbar .ll-node-remove{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-video-inline-form{
    grid-template-columns:1fr !important;
  }
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-video-inline-form input,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-video-inline-form button,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] textarea,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] input[type="text"],
  .ll-edit-dossier-grid[data-edit-layout="stacked"] input[type="url"]{
    width:100% !important;
    min-width:0 !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-meta{
    grid-template-columns:1fr !important;
  }
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-chip,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-chip-text{
    min-width:0 !important;
    white-space:normal !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
  }
}


/* v7.8.21 stronger mobile fit for edit dossier detail only */
@media (max-width: 960px){
  .ll-dossier-form,
  .ll-dossier-form .ll-form-section,
  .ll-dossier-form .ll-media-picker,
  .ll-dossier-form .ll-static-field,
  .ll-dossier-form .ll-edit-master-store,
  .ll-edit-dossier-grid[data-edit-layout="stacked"],
  .ll-edit-dossier-grid[data-edit-layout="stacked"] > *{
    min-width:0 !important;
    max-width:100% !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"]{
    gap:14px !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-left-tree,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-right-panels,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel.is-active,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-side-card,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-side-card,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-editor-wrap,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-editor,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-meta,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-panel,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-children,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-toolbar,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-attach-list,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-chip,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-chip-text,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-video-inline-form,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-video-inline-form > *{
    min-width:0 !important;
    max-width:100% !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-left-tree,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-doc-panel.is-active,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-edit-side-card,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-side-card{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-toolbar{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:start !important;
    gap:10px !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-editor-wrap,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-editor,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-children{
    width:100% !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-children{
    margin-left:0 !important;
    padding-left:12px !important;
    min-width:0 !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row{
    padding:0 !important;
    grid-template-columns:1fr !important;
    grid-template-areas:
      "title"
      "public"
      "actions" !important;
    row-gap:8px !important;
    column-gap:0 !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-title,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] textarea,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] input[type="text"],
  .ll-edit-dossier-grid[data-edit-layout="stacked"] input[type="url"]{
    font-size:16px !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions.ll-node-toolbar,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions.ll-node-toolbar > .button,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions.ll-node-toolbar > .ll-toolbar-row,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions.ll-node-toolbar .ll-toolbar-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    gap:8px !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions button,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions.ll-node-toolbar button,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions .ll-node-remove,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-row .ll-node-actions.ll-node-toolbar .ll-node-remove,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-toolbar .button,
  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-tree-toolbar button{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-node-meta{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-attach-list{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-chip{
    display:flex !important;
    align-items:flex-start !important;
    gap:8px !important;
    border-radius:12px !important;
  }

  .ll-edit-dossier-grid[data-edit-layout="stacked"] .ll-chip-text{
    flex:1 1 auto !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:unset !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
  }

  .ll-actions{
    align-items:stretch !important;
  }
  .ll-actions button,
  .ll-actions .ll-btn-primary{
    width:100% !important;
  }
}
