/* Analysis-only integration. Shared Materio primitives own fields and buttons. */
body[data-dashboard-style="materio"][data-dashboard-page="luyen-phan-tich"] {
  .analysis-layout { grid-template-columns:minmax(0,1fr) minmax(300px,340px); }
  .analysis-card-head { padding:20px 24px; }
  .analysis-card-head h2 { font-size:18px;line-height:26px; }
  .analysis-card-head p { color:var(--mt-muted); }
  .analysis-step { place-items:center;border-radius:6px;background:var(--mt-soft);color:var(--mt-primary);font-weight:600; }
  .analysis-field { margin-bottom:20px; }
  .analysis-caption,.analysis-writing-meta { font-size:13px;line-height:20px;color:var(--mt-muted); }
  .analysis-consent { font-size:14px;line-height:22px; }
  .analysis-consent span { flex:1;min-width:0; }
  .analysis-consent input.form-check-input { flex:0 0 18px; }
  :is(.analysis-guide,.analysis-rubric,.analysis-history) { padding:24px; }
  :is(.analysis-guide,.analysis-rubric,.analysis-history) h2 { font-size:18px;line-height:26px; }
  .analysis-guide li { font-size:14px;line-height:22px; }
  .analysis-guide li::before { place-items:center;border-radius:50%;background:var(--mt-soft);color:var(--mt-primary);font-weight:600; }
  .analysis-guide li span { color:var(--mt-muted); }
  .analysis-rubric dl div { border-bottom:1px solid var(--mt-line);font-size:14px;line-height:22px; }
  .analysis-rubric dt { font-weight:400; }
  .analysis-rubric dd { color:var(--mt-primary);font-weight:500; }
  :is(.analysis-rubric,.analysis-history)>p,#historyList { font-size:14px;line-height:22px;color:var(--mt-muted); }
  .analysis-score { color:var(--mt-primary);font-size:36px;line-height:44px;font-weight:600; }
  .analysis-criterion { border:1px solid var(--mt-line);border-radius:6px; }
  .analysis-criterion-head b { color:var(--mt-primary); }
  .analysis-criterion blockquote { border-left:2px solid var(--mt-primary);background:var(--mt-soft); }
  .analysis-message.is-error { color:var(--bs-danger); }
  .analysis-import-tools { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px; }
  .analysis-ai-settings { min-width:0; }
  .analysis-ai-settings h2 { font-size:18px;line-height:26px;margin:0; }
  .analysis-ai-settings .analysis-actions { flex-wrap:wrap; }
  .analysis-paper-text { white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8; }
  #paperSource { padding:20px;background:var(--mt-soft);border:1px solid var(--mt-line);border-radius:6px;margin:16px 0 24px; }
  #readingPaper h3 { font-size:20px;line-height:28px; }
  :is(#readingEditor,#readingPaper)[hidden] { display:none!important; }
  #moreExercises { margin-bottom:16px; }
  .literature-page-nav { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 24px;min-width:0; }
  .literature-icon { width:20px;height:20px;flex:0 0 20px;vertical-align:middle; }
  .literature-brand { object-fit:contain;flex:0 0 32px;background:#fff;border-radius:4px;padding:3px; }
  .literature-model-tools { display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;margin-top:24px; }
  .literature-model-tools .analysis-field { min-width:0;margin-bottom:0; }
  .literature-model-tools .btn { justify-self:start;min-height:36px;white-space:nowrap; }
  .literature-model-status { margin:10px 0 14px;overflow-wrap:anywhere;min-height:20px; }
  .literature-model-status.is-error { color:var(--bs-danger); }
  .literature-model-advanced { margin:0 0 20px;font-size:13px;line-height:20px;color:var(--mt-muted); }
  .literature-model-advanced summary { cursor:pointer;color:var(--mt-primary);margin-bottom:12px; }
  .literature-model-advanced .analysis-field { margin:16px 0 8px; }
  .ns-opt .ns-check { display:inline-flex;visibility:hidden;flex:0 0 18px;margin-left:auto; }
  .ns-opt[aria-selected="true"] .ns-check { visibility:visible; }
  @media(max-width:600px) { .literature-model-tools { grid-template-columns:minmax(0,1fr);gap:10px; } .literature-model-tools .btn { justify-self:start;min-height:36px; } }
  .literature-card-head { display:flex;align-items:flex-start;gap:14px;padding:24px; }
  .literature-card-head h2 { margin:0;font-size:18px;line-height:26px; }
  .literature-card-head p { margin:4px 0 0;color:var(--mt-muted);font-size:14px;line-height:22px; }
  .literature-heading-icon { display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;background:var(--mt-soft);color:var(--mt-primary);border-radius:6px; }
  .literature-heading-icon svg { width:24px;height:24px; }
  .literature-writing-layout { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--mt-panel-gap);align-items:stretch; }
  .literature-writing-layout .analysis-paper-text { line-height:1.85; }
  .literature-writing-layout .card-body h3 { font-size:20px;line-height:28px;margin:0 0 12px; }
  .literature-provider-strip { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;padding:16px 20px;background:var(--mt-card);border:1px solid var(--mt-line);border-radius:6px; }
  #activeAI { display:flex;align-items:center;gap:12px; }
  #activeAI small { display:block;color:var(--mt-muted); }
  .literature-ai-layout { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:24px;align-items:start; }
  .literature-provider-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border:0;padding:0;margin:0 0 20px; }
  .literature-provider-choice { display:flex;gap:12px;align-items:center;min-height:120px;padding:18px;border:1px solid var(--mt-line);border-radius:6px;cursor:pointer; }
  .literature-provider-choice.is-active { border-color:var(--mt-primary);background:var(--mt-soft); }
  .literature-provider-choice:focus-within { outline:2px solid var(--mt-primary);outline-offset:3px; }
  .literature-provider-choice input { flex:0 0 18px;width:18px;height:18px;margin:0; }
  .literature-provider-choice span { min-width:0;overflow-wrap:anywhere; }
  .literature-provider-choice strong { display:block;font-size:16px;line-height:24px; }
  .literature-provider-choice small,.literature-provider-choice em { display:block;color:var(--mt-muted);font-size:12px;line-height:18px;font-style:normal;margin-top:4px; }
  .literature-provider-choice em { color:var(--mt-primary); }
  .literature-selected-provider { display:flex;align-items:center;gap:12px;padding:0 0 24px; }
  .literature-ai-layout .card-body,.literature-library-layout .card-body { padding:24px; }
  .literature-ai-layout .analysis-actions { flex-wrap:wrap;justify-content:flex-start;margin-bottom:20px; }
  .literature-library-layout { display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:24px;align-items:start; }
  .literature-upload { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:190px;padding:24px;border:1px dashed var(--mt-primary);border-radius:6px;background:var(--mt-soft);cursor:pointer;text-align:center;margin-bottom:20px; }
  .literature-upload svg { width:32px;height:32px;color:var(--mt-primary); }
  .literature-upload span { color:var(--mt-muted);font-size:14px;line-height:22px; }
  .literature-import-format { min-width:0;margin-bottom:20px; }
  .literature-import-format .analysis-field { margin-top:0; }
  #literatureFormatHelp { margin:8px 0 0;min-height:60px;overflow-wrap:anywhere; }
  .literature-import-summary { padding:16px;border:1px solid var(--mt-line);border-radius:6px;background:var(--mt-soft);overflow-wrap:anywhere; }
  .literature-import-summary[hidden] { display:none!important; }
  .literature-import-summary>strong { display:block;color:var(--mt-ink);font-size:14px;line-height:22px; }
  .literature-import-summary p { margin:8px 0 0; }
  .literature-import-summary ul { margin:12px 0 0;padding-left:20px;font-size:13px;line-height:20px;color:var(--mt-muted); }
  .literature-library-layout :is(#analysisSource,#analysisTask) { resize:vertical;min-height:180px; }
  .literature-library-layout .analysis-actions { flex-wrap:wrap;justify-content:flex-start;margin:0 0 20px; }
  .literature-library-layout .analysis-field { display:block;margin-top:16px;margin-bottom:8px; }
  .literature-library-list { margin-top:24px; }
  #exerciseList { min-height:240px; }
  :is(#paperSource,#startSource)[data-mt-loading] { min-height:160px; }
  .literature-batch-composer { margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--mt-line);min-width:0; }
  .literature-batch-heading { display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;margin-bottom:16px; }
  .literature-batch-heading>span { font-size:13px;line-height:20px;color:var(--mt-muted); }
  .literature-batch-tools { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px; }
  .literature-batch-list { max-height:240px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--mt-line);border-radius:6px;margin-bottom:12px; }
  .literature-batch-row { display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:0;border-bottom:1px solid var(--mt-line);background:transparent;color:var(--mt-ink);text-align:left;font:inherit; }
  .literature-batch-row:last-child { border-bottom:0; }
  .literature-batch-row[aria-current="true"] { background:var(--mt-soft);color:var(--mt-primary); }
  .literature-batch-row:hover { background:var(--mt-soft); }
  .literature-batch-row:focus-visible { outline:2px solid var(--mt-primary);outline-offset:-2px; }
  .literature-batch-number { display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border:1px solid var(--mt-line);border-radius:6px;font-weight:500; }
  .literature-batch-copy { min-width:0;flex:1;overflow-wrap:anywhere; }
  .literature-batch-copy strong { display:block;font-weight:500; }
  .literature-batch-copy small { display:block;color:var(--mt-muted);font-size:12px;line-height:18px;margin-top:2px; }
  .literature-library-row { display:flex;align-items:center;gap:16px;width:100%;padding:16px;border:0;border-bottom:1px solid var(--mt-line);background:transparent;color:var(--mt-ink);text-align:left;font:inherit; }
  .literature-library-row span { flex:1;min-width:0;overflow-wrap:anywhere; }
  .literature-library-row:hover { background:var(--mt-soft); }
  .literature-rubric { margin-top:24px;color:var(--mt-muted);font-size:14px;line-height:22px; }
  .literature-rubric summary { cursor:pointer;color:var(--mt-ink); }
  .literature-rubric p { margin-top:12px; }
  [data-literature-view="practice"] .analysis-consent { display:flex;align-items:flex-start;gap:10px;margin:24px 0; }
  [data-literature-view="practice"] .analysis-writing-meta { display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin:12px 0 24px; }
  .literature-writing-layout .analysis-consent { display:flex;align-items:flex-start;gap:10px;margin:24px 0; }
  .literature-writing-layout .analysis-actions { flex-wrap:wrap;justify-content:flex-start; }
  .literature-writing-layout #analysisAnswer { min-height:clamp(260px,32dvh,400px);resize:vertical; }
  .literature-writing-layout>.card>.card-body { display:flex;flex-direction:column; }
  .literature-writing-layout #paperSource { flex:1;min-height:160px;margin:16px 0 24px; }
  .literature-writing-layout .card-body>a { align-self:flex-start; }
  .literature-writing-layout .analysis-field:has(#analysisAnswer) { flex:1;display:flex;flex-direction:column;min-height:0; }
  .literature-writing-layout .analysis-field>#analysisAnswer { flex:1; }
  .literature-writing-layout .analysis-actions { gap:12px;margin-top:0; }
  .analysis-writing-tools { flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 20px;min-width:0; }
  .analysis-format-actions { display:flex;flex-wrap:wrap;gap:8px;min-width:0; }
  .analysis-format-actions>.btn { min-height:32px;padding:6px 10px;font-size:13px;line-height:20px; }
  .analysis-auto-indent { display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13px;line-height:20px;cursor:pointer; }
  .analysis-auto-indent>.form-check-input { flex:none;margin:0; }
  .analysis-format-note { flex:1 0 100%;margin:0;color:var(--mt-muted);font-size:12px;line-height:20px;overflow-wrap:anywhere; }
  .analysis-grading-status { display:flex;align-items:flex-start;gap:14px;padding:18px;margin-top:18px;border:1px solid var(--mt-line);border-radius:6px;background:var(--mt-soft);color:var(--mt-ink);min-width:0; }
  .analysis-grading-status[hidden] { display:none!important; }
  .analysis-grading-status>div { flex:1;min-width:0;overflow-wrap:anywhere; }
  .analysis-grading-status strong { display:block;font-size:15px;line-height:24px;font-weight:600; }
  .analysis-grading-status p { margin:6px 0 0;font-size:14px;line-height:22px; }
  .analysis-grading-status small { display:block;margin-top:10px;color:var(--mt-muted);font-size:13px;line-height:20px; }
  .analysis-grading-status [data-grade-clock][hidden] { display:none!important; }
  .analysis-grade-spinner { display:block;flex:0 0 24px;width:24px;height:24px;margin-top:3px;border:3px solid var(--mt-line);border-top-color:var(--mt-primary);border-radius:50%;animation:analysis-grade-spin .85s linear infinite; }
  .analysis-grading-status:not([data-state="pending"]) .analysis-grade-spinner { display:none; }
  .analysis-grading-status[data-state="error"] { background:var(--mt-card);border-color:var(--bs-danger); }
  .analysis-grading-status[data-state="error"] strong { color:var(--bs-danger); }
  #gradeAnalysis[aria-busy="true"]::before { content:"";width:16px;height:16px;flex:0 0 16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:analysis-grade-spin .85s linear infinite; }
  @media(prefers-reduced-motion:reduce) { .analysis-grade-spinner,#gradeAnalysis[aria-busy="true"]::before { animation:none; } }
  .literature-writing-layout .literature-rubric { margin-top:16px; }
  @media(max-width:1100px) { .literature-ai-layout,.literature-library-layout { grid-template-columns:minmax(0,1fr); } }
  @media(max-width:900px) { .literature-writing-layout { grid-template-columns:minmax(0,1fr); } }
  @media(max-width:600px) { .literature-provider-grid { grid-template-columns:minmax(0,1fr); } .literature-provider-strip { align-items:flex-start;flex-direction:column; } .literature-card-head,.literature-ai-layout .card-body,.literature-library-layout .card-body { padding:20px; } }
}
/* Page links have their own navigation treatment; they are not submit buttons. */
html body#gradientWorkspace#gradientWorkspace[data-dashboard-style="materio"][data-dashboard-page="luyen-phan-tich"] {
 .literature-page-nav>.literature-nav-link { display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;padding:8px 12px;border:1px solid var(--mt-line);border-radius:6px;background:var(--mt-card);color:var(--mt-ink);text-decoration:none;text-align:left;font:500 14px/20px var(--mt-font);box-shadow:none;transition:background-color var(--mt-motion),border-color var(--mt-motion),color var(--mt-motion); }
 .literature-nav-link>span:last-child { flex:1;min-width:0;overflow-wrap:anywhere; }
 .literature-nav-link .literature-nav-icon { display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:6px;background:var(--mt-soft);color:var(--mt-primary); }
 .literature-nav-link .literature-icon { width:22px;height:22px;stroke-width:1.8; }
 .literature-page-nav>.literature-nav-link:hover { background:var(--mt-soft);border-color:var(--mt-primary);color:var(--mt-primary); }
 .literature-page-nav>.literature-nav-link[aria-current="page"] { background:var(--mt-soft);border-color:var(--mt-primary);color:var(--mt-primary); }
 .literature-nav-link[aria-current="page"]>span:last-child { text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px; }
 .literature-nav-link:focus-visible { outline:2px solid var(--mt-primary);outline-offset:3px; }
 @media(max-width:760px) { .literature-page-nav { grid-template-columns:repeat(2,minmax(0,1fr)); } }
 @media(max-width:380px) { .literature-page-nav { gap:6px; }.literature-page-nav>.literature-nav-link { gap:8px;padding:8px;font-size:13px; }.literature-nav-link .literature-nav-icon { width:26px;height:26px;flex-basis:26px; }.literature-nav-link .literature-icon { width:20px;height:20px; } }
 @media(prefers-reduced-motion:reduce) { .literature-page-nav>.literature-nav-link { transition:none; } }
 @media(forced-colors:active) { .literature-page-nav>.literature-nav-link { border-color:ButtonText; }.literature-page-nav>.literature-nav-link[aria-current="page"] { border-color:Highlight;outline:1px solid Highlight; }.literature-nav-link .literature-nav-icon { color:LinkText; } }
}
/* Floating-field enhancement replaces labels and resets their margins. Keep
   this page's form rhythm on its containers, including late-loaded fields. */
html body#gradientWorkspace#gradientWorkspace[data-dashboard-style="materio"][data-dashboard-page="luyen-phan-tich"] {
 .analysis-field { min-width:0;margin-block:0 20px; }
 .analysis-actions { display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0; }
 :is(.analysis-actions,.literature-batch-tools)>.btn { min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere; }
 .literature-card-head>div { min-width:0;overflow-wrap:anywhere; }
 :is(.literature-library-layout,.literature-ai-layout)>.card>.card-body { display:grid;align-content:start;gap:24px;min-width:0; }
 :is(.literature-library-layout,.literature-ai-layout)>.card>.card-body>* { min-width:0;margin:0; }
 :is(.literature-library-layout,.literature-ai-layout)>.card>.card-body>.btn { justify-self:start;max-width:100%;white-space:normal; }
 .literature-library-layout .analysis-actions { margin:0; }
 .literature-library-layout .analysis-caption { overflow-wrap:anywhere; }
 .literature-batch-composer { display:grid;align-content:start;gap:16px;margin:0;padding-bottom:24px; }
 .literature-batch-composer>:is(.literature-batch-heading,.literature-batch-tools,.literature-batch-list,.analysis-caption) { min-width:0;margin:0; }
 .literature-batch-heading>strong { min-width:0;overflow-wrap:anywhere; }
 .literature-batch-heading>span { max-width:100%;overflow-wrap:anywhere; }
 .literature-batch-row { gap:12px; }
 .literature-selected-provider { padding-bottom:0; }
 .literature-model-tools { margin:0; }
 :is(.literature-model-tools,.analysis-ai-choice-controls)>.analysis-field { margin:0; }
 :is(.literature-model-advanced,.analysis-model-custom) .analysis-field { margin-block:16px 8px; }
 :is(.literature-model-advanced,.analysis-model-custom) .analysis-field:last-child { margin-bottom:0; }
 .literature-model-advanced>.analysis-caption { margin:8px 0 0; }
 .analysis-ai-choice-head { flex-wrap:wrap; }
 .analysis-ai-choice-head>* { min-width:0;overflow-wrap:anywhere; }
 .analysis-ai-choice-actions { align-items:center; }
 @media(max-width:600px) {
  :is(.literature-library-layout,.literature-ai-layout)>.card>.card-body { gap:20px; }
  .literature-upload { min-height:160px;padding:20px; }
  .analysis-actions { gap:8px; }
 }
 @media(max-width:420px) {
  .literature-library-layout .analysis-actions>.btn { flex:1 1 100%; }
 }
}
@keyframes analysis-grade-spin { to { transform:rotate(360deg); } }
/* Keep batch state above the shared list-row reset, without styling form buttons. */
html body#gradientWorkspace#gradientWorkspace[data-dashboard-style="materio"][data-dashboard-page="luyen-phan-tich"] .literature-batch-row {
  width:100%;border-bottom:1px solid var(--mt-line);border-radius:0;
}
html body#gradientWorkspace#gradientWorkspace[data-dashboard-style="materio"][data-dashboard-page="luyen-phan-tich"] .literature-batch-row[aria-current="true"] {
  background:var(--mt-soft);color:var(--mt-primary);
}
@media(max-width:1200px) {
  body[data-dashboard-style="materio"][data-dashboard-page="luyen-phan-tich"] .analysis-layout { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
  body[data-dashboard-style="materio"][data-dashboard-page="luyen-phan-tich"] :is(.analysis-card-head,.analysis-guide,.analysis-rubric,.analysis-history) { padding:20px; }
}
