/* Novos componentes seguem os tokens dos temas de dashboard e estudo. */
.mc-eyebrow { display: block; font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--mut); }
.mc-muted { color: var(--mut); font-size: 12.5px; line-height: 1.65; }

/* Dashboard: mesma superfície e ritmo dos cartões existentes. */
.mc-dashboard { margin: 0 0 36px; }
.mc-dashboard .section-header { flex-wrap: wrap; gap: 8px; }
.mc-learning-grid { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 20px; }
.mc-learning-main, .mc-review-panel { background: var(--card); border: 1px solid var(--glass-border); border-radius: var(--r); padding: 22px; backdrop-filter: blur(20px); box-shadow: var(--sh-sm); }
.mc-learning-main > p:first-child { margin: 0 0 18px; }
.mc-learning-main > p:last-child { margin: 18px 0 0; max-width: 66ch; }
.mc-quadrant-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.mc-quadrant { --q-color: var(--ink3); --q-soft: rgba(148, 163, 184, .05); display: flex; flex-direction: column; padding: 16px 12px; border: 1px solid color-mix(in srgb, var(--q-color) 20%, transparent); border-radius: 12px; background: var(--q-soft); min-width: 0; }
.mc-quadrant.Q1 { --q-color: var(--ok); --q-soft: var(--ok-soft); }
.mc-quadrant.Q2 { --q-color: #f87171; --q-soft: var(--bad-soft); }
.mc-quadrant.Q3 { --q-color: #facc15; --q-soft: var(--warn-soft); }
.mc-quadrant-count { color: var(--q-color); font-size: 23px; line-height: 1.25; font-weight: 700; font-variant-numeric: tabular-nums; margin-bottom: 16px; }
.mc-quadrant > span { font-size: 12px; font-weight: 500; color: var(--ink2); line-height: 1.45; }
.mc-quadrant > small { font-size: 10px; color: var(--ink3); margin-top: 6px; line-height: 1.5; }
.mc-learning-side { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.mc-panel-heading { display: flex; align-items: center; justify-content: space-between; color: var(--pri2); gap: 10px; }
.mc-review-panel h3 { margin: 10px 0 12px; font-size: 17px; font-weight: 600; color: var(--ink); line-height: 1.4; }
.mc-due-list p { margin: 0; }
.mc-due-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; border-top: 1px solid var(--line); color: var(--ink2); text-decoration: none; font-size: 12px; }
.mc-due-link > span:first-child { text-transform: capitalize; overflow-wrap: anywhere; }
.mc-due-link .review-badge { flex-shrink: 0; white-space: nowrap; }
.mc-due-link:hover { color: var(--pri2); }
.mc-diary-link { display: flex; align-items: center; gap: 12px; padding: 16px; background: var(--pri-soft); border: 1px solid color-mix(in srgb, var(--pri) 25%, transparent); border-radius: var(--r); text-decoration: none; color: var(--ink2); transition: background 180ms var(--ease), border-color 180ms var(--ease); }
.mc-diary-link:hover { background: rgba(99, 102, 241, .18); border-color: var(--pri2); }
.mc-diary-link .qa-icon { background: rgba(99, 102, 241, .15); color: var(--pri2); }
.mc-diary-link > span:nth-child(2) { flex: 1; }
.mc-diary-link strong { display: block; font-size: 13px; font-weight: 600; color: var(--ink); }
.mc-diary-link small { display: block; margin-top: 3px; font-size: 11px; color: var(--ink3); }
.mc-diary-link > svg { width: 14px; color: var(--pri2); }

/* Questões: paleta clara em azul e laranja do material. */
.q .qh { flex-wrap: wrap; }
.o.mc-selected { background: var(--pri-soft); border-color: var(--pri2); box-shadow: 0 0 0 1px var(--pri2); }
.o.mc-selected b { background: var(--pri); border-color: var(--pri); color: #fff; }
.q button:disabled { cursor: default; }
.q .o:disabled:hover { transform: none; }
.mc-confidence { min-width: 0; padding: 12px 16px 16px; margin: 24px 0 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
.mc-confidence legend { padding: 0 8px; font-size: 12.5px; color: var(--ink3); font-weight: 500; }
.mc-confidence-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.mc-confidence-options .btn { min-width: 0; min-height: 58px; padding: 10px; font-size: 11.5px; text-align: left; line-height: 1.4; background: var(--card); border: 1px solid var(--line); }
.mc-confidence-options .btn:hover { border-color: var(--acc); background: var(--acc-soft); }
.mc-confidence-options .btn.on { color: var(--acc); background: var(--acc-soft); border-color: var(--acc); box-shadow: 0 0 0 1px var(--acc); }
.mc-confidence-number { display: grid; place-items: center; flex-shrink: 0; width: 26px; height: 26px; border-radius: 8px; background: var(--bg); color: var(--pri2); font-size: 13px; font-weight: 600; }
.btn.on .mc-confidence-number { background: var(--acc); color: #fff; }
.mc-confirm-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
.mc-confirm-row .btn { gap: 14px; }
.q p.mc-consulted { margin: 12px 0; font-size: 12px; color: var(--mut); }
.q > .acts { border-top: 1px solid var(--line); padding-top: 12px; gap: 5px; }
.mc-result { --result-color: var(--ink3); --result-soft: var(--bg); display: flex; align-items: center; gap: 14px; border: 1px solid var(--line); border-left: 3px solid var(--result-color); background: var(--result-soft); padding: 16px; border-radius: 12px; margin: 20px 0 16px; }
.mc-result.Q1 { --result-color: var(--ok); --result-soft: var(--ok-soft); }
.mc-result.Q2 { --result-color: var(--bad); --result-soft: var(--bad-soft); }
.mc-result.Q3 { --result-color: #996100; --result-soft: var(--warn-soft); }
.mc-result-badge { display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; border-radius: 10px; color: var(--result-color); background: color-mix(in srgb, var(--result-color) 12%, transparent); font-size: 13px; font-weight: 700; }
.mc-result strong { font-size: 12px; font-weight: 600; color: var(--result-color); }
.q .mc-result p { margin: 3px 0 0; font-size: 13px; line-height: 1.65; color: var(--ink2); }
.mc-content, .mc-history { margin: 12px 0 0; border: 1px solid var(--line); border-radius: 10px; }
.mc-content summary, .mc-history summary { display: flex; align-items: center; justify-content: space-between; list-style: none; cursor: pointer; padding: 12px 14px; font-size: 12.5px; font-weight: 500; color: var(--pri2); }
.mc-content summary::-webkit-details-marker, .mc-history summary::-webkit-details-marker { display: none; }
.mc-content summary::after, .mc-history summary::after { content: ''; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-right: 3px; transition: transform 180ms; }
.mc-content[open] summary::after, .mc-history[open] summary::after { transform: rotate(225deg); }
.mc-content summary:hover, .mc-history summary:hover { background: var(--bg); border-radius: 10px; }
.mc-content .acts { margin: 0; padding: 0 10px 12px; gap: 8px; }
.mc-content .btn { white-space: normal; text-align: left; background: var(--pri-soft); color: var(--pri2); max-width: 100%; overflow-wrap: anywhere; }
.q .mc-history p { margin: 0; border-top: 1px solid var(--line); padding: 12px 14px; font-size: 12px; line-height: 1.7; color: var(--mut); white-space: pre-wrap; }
.mc-analysis { background: var(--bg); border: 1px solid var(--line); border-radius: var(--r); padding: 22px; margin-top: 20px; }
.mc-analysis-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.mc-analysis-heading h3 { margin: 5px 0 0; font-size: 18px; font-weight: 600; color: var(--ink); }
.mc-analysis-block + .mc-analysis-block { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.mc-analysis h4 { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; font-size: 13px; font-weight: 600; color: var(--pri2); }
.mc-analysis h4 > span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; background: var(--pri-soft); font-size: 11px; }
.mc-analysis label { display: block; margin: 14px 0 0; font-size: 12.5px; font-weight: 500; color: var(--ink3); }
.mc-analysis .inp { display: block; width: 100%; min-width: 0; color: var(--ink2); margin-top: 7px; border: 1px solid var(--line); min-height: 44px; }
.mc-analysis .note { display: block; width: 100%; margin-top: 7px; font-size: 13px; background: var(--card); }
.mc-analysis .note:focus, .mc-analysis .inp:focus { outline: 2px solid var(--pri2); outline-offset: 2px; }
.q .mc-analysis p.mc-analysis-tip { font-size: 12px; color: var(--mut); margin: 16px 0 0; line-height: 1.7; }
.q .mc-analysis p.mc-muted { font-size: 12px; color: var(--mut); margin: 0; }
.mc-check { display: flex !important; align-items: flex-start; gap: 10px; border: 1px solid var(--line); border-radius: 10px; padding: 12px; background: var(--card); line-height: 1.6; }
.mc-check input { width: 18px; height: 18px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--pri); }
.mc-card-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mc-analysis-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.content-return { position: sticky; top: 12px; z-index: 30; margin-bottom: 16px; box-shadow: var(--sh-lg); }
.content-return[hidden] { display: none !important; }
.mc-analysis textarea, .fcard .ans, .fcard p { white-space: pre-wrap; overflow-wrap: anywhere; }
.seg { flex-wrap: wrap; }

/* Revisões: cartões e botões do tema de estudo. */
.mc-fsrs-empty { padding: 44px 28px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh); }
.mc-review-symbol { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: var(--pri-soft); color: var(--pri2); font-size: 30px; line-height: 1; margin: 0 auto 18px; }
.mc-review-symbol.is-complete { background: var(--ok-soft); color: var(--ok); }
.mc-fsrs-empty h3 { font-size: 22px; font-weight: 600; margin: 6px 0 12px; color: var(--ink); }
.mc-fsrs-empty p { max-width: 48ch; margin: 0 auto 24px; font-size: 14px; color: var(--mut); }
.mc-review-progress { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: var(--mut); font-size: 12px; margin-top: 24px; }
.mc-fsrs-progress { display: block; width: 100%; height: 5px; margin: 10px 0 20px; border: 0; border-radius: 99px; background: var(--line); accent-color: var(--acc); overflow: hidden; }
.mc-fsrs-progress::-webkit-progress-bar { background: var(--line); border-radius: 99px; }
.mc-fsrs-progress::-webkit-progress-value { background: var(--acc); border-radius: 99px; }
.mc-fsrs-progress::-moz-progress-bar { background: var(--acc); border-radius: 99px; }
.mc-fsrs-review .fcard p { margin: 0; }
.mc-fsrs-review .ans { text-align: left; font-size: 16px; font-weight: 400; }
.mc-fsrs-review .ans .mc-eyebrow { margin-bottom: 8px; color: var(--ok); }
.mc-rating-options { margin-bottom: 20px; }
.mc-rating-options .mc-rating { flex: 1; flex-direction: column; justify-content: center; min-height: 66px; padding: 12px 8px; border: 1px solid var(--line); gap: 3px; }
.mc-rating strong { font-size: 13px; font-weight: 600; }
.mc-rating small { font-size: 10.5px; color: var(--mut); }
.mc-rating[data-rating='1'] { border-color: color-mix(in srgb, var(--bad) 28%, var(--line)); color: var(--bad); background: var(--bad-soft); }
.mc-rating[data-rating='2'] { border-color: color-mix(in srgb, var(--warn) 28%, var(--line)); color: #996100; background: var(--warn-soft); }
.mc-rating[data-rating='3'] { color: var(--pri2); background: var(--pri-soft); }
.mc-rating[data-rating='4'] { color: var(--ok); background: var(--ok-soft); }
.mc-rating:hover { box-shadow: var(--sh-sm); border-color: currentColor; }

/* Diário: continuidade do dashboard, espaço tranquilo para escrever. */
.diary-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 24px; align-items: start; }
.diary-page .brand { text-decoration: none; }
.diary-page .dash-greeting .mc-eyebrow { margin-bottom: 10px; color: var(--pri2); }
.diary-document { padding: 26px; min-width: 0; }
.diary-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid var(--line); }
.diary-toolbar label { display: flex; flex-direction: column; gap: 7px; font-size: 11px; color: var(--ink3); }
.diary-toolbar input[type='date'] { color-scheme: dark; padding: 9px 12px; font-size: 13px; color: var(--ink); background: rgba(255, 255, 255, .04); border: 1px solid var(--line2); border-radius: 10px; max-width: 100%; }
.diary-text-label { display: block; font-size: 14px; color: var(--ink); font-weight: 500; }
.diary-document .note { width: 100%; min-height: 420px; margin: 14px 0 0; padding: 20px; border: 1px solid var(--line); background: rgba(6, 9, 24, .4); color: var(--ink2); font-size: 14px; line-height: 1.9; white-space: pre-wrap; transition: border-color 180ms, box-shadow 180ms; }
.diary-document .note::placeholder { color: var(--ink3); opacity: .75; }
.diary-document .note:focus { outline: none; border-color: var(--pri2); box-shadow: 0 0 0 3px var(--pri-soft); }
.diary-save-row { display: flex; align-items: flex-start; gap: 8px; margin-top: 14px; }
.diary-save-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; background: var(--pri2); margin-top: 7px; }
.diary-save-row p { margin: 0; min-height: 1.5em; color: var(--ink3); font-size: 11px; line-height: 1.7; }
.diary-sidebar { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.diary-prompt-list { padding: 0; margin: 0 0 20px; list-style: none; counter-reset: prompt; }
.diary-prompt-list li { display: flex; align-items: flex-start; gap: 10px; font-size: 12.5px; color: var(--ink3); line-height: 1.65; margin: 14px 0; counter-increment: prompt; }
.diary-prompt-list li::before { content: counter(prompt, decimal-leading-zero); color: var(--pri2); font-size: 10px; font-weight: 600; padding-top: 3px; }
.diary-prompts-card .btn { width: 100%; justify-content: center; font-size: 12px; padding: 10px; }
#diary-entries { display: flex; flex-direction: column; gap: 8px; max-height: 420px; overflow: auto; }
#diary-entries > p { margin: 0; }
.diary-entry { display: flex; flex-direction: column; gap: 5px; width: 100%; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.02); text-align: left; color: var(--ink2); transition: border-color 180ms, background 180ms; }
.diary-entry:hover, .diary-entry.is-current { border-color: color-mix(in srgb, var(--pri2) 45%, transparent); background: var(--pri-soft); }
.diary-entry strong { font-size: 11.5px; font-weight: 500; }
.diary-entry span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 10.5px; color: var(--ink3); line-height: 1.65; overflow-wrap: anywhere; }

@media (max-width: 1100px) {
  .mc-learning-grid { grid-template-columns: minmax(0, 1fr); }
  .mc-learning-side { display: grid; grid-template-columns: 1fr 1fr; align-items: start; }
}
@media (max-width: 900px) {
  .diary-layout { grid-template-columns: minmax(0, 1fr); }
  .diary-sidebar { display: grid; grid-template-columns: 1fr 1fr; align-items: start; }
  .mc-confidence-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .mc-learning-main, .mc-review-panel { padding: 16px; }
  .mc-quadrant-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mc-learning-side, .diary-sidebar { display: flex; flex-direction: column; }
  .mc-learning-side > *, .diary-sidebar > * { width: 100%; }
  .mc-confidence { padding: 10px 12px 12px; }
  .mc-confidence-options .btn { padding: 10px 8px; min-height: 58px; }
  .mc-confirm-row { align-items: stretch; gap: 8px; }
  .mc-confirm-row .btn { justify-content: center; width: 100%; }
  .mc-analysis { padding: 16px; }
  .mc-analysis-heading { align-items: flex-start; }
  .mc-analysis-heading .pill { white-space: nowrap; }
  .mc-card-fields { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .mc-analysis-footer .btn { width: 100%; justify-content: center; white-space: normal; }
  .mc-result { padding: 12px; align-items: flex-start; }
  .mc-fsrs-empty { padding: 32px 18px; }
  .mc-rating-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mc-rating-options > .btn:only-child { grid-column: 1 / -1; justify-content: center; }
  .diary-document { padding: 18px; }
  .diary-toolbar { flex-wrap: wrap; }
  .diary-document .note { padding: 16px; min-height: 340px; }
  .diary-page .dash-header-inner { gap: 12px; }
  .diary-page .dash-header .btn { font-size: 11px; padding: 8px 10px; }
}

/* Menu de estudo: ícones por padrão, nomes ao expandir. */
.sidebar-controls { display: flex; flex-direction: column; gap: 8px; padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.12); }
.sidebar-toggle, .sidebar-home { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 11px; background: none; color: #c5d3ea; font: 500 12.5px var(--sans); text-decoration: none; }
.sidebar-home { color: #ffcfa8; }
.sidebar-toggle:hover, .sidebar-home:hover { background: rgba(255,255,255,.08); color: #fff; }
.sidebar-toggle svg { transform: rotate(180deg); }
.app[data-sidebar='collapsed'] { grid-template-columns: 82px minmax(0, 1fr); }
.app[data-sidebar='collapsed'] #side { padding: 22px 12px; gap: 20px; }
.app[data-sidebar='collapsed'] .sidebar-toggle svg { transform: none; }
.app[data-sidebar='collapsed'] .sidebar-controls { align-items: center; }
.app[data-sidebar='collapsed'] .sidebar-toggle, .app[data-sidebar='collapsed'] .sidebar-home { justify-content: center; width: 44px; padding: 12px; }
.app[data-sidebar='collapsed'] .sidebar-controls span,
.app[data-sidebar='collapsed'] .sidebar-brand-label,
.app[data-sidebar='collapsed'] #nav .nav-label,
.app[data-sidebar='collapsed'] #nav .bd,
.app[data-sidebar='collapsed'] .side-foot { display: none; }
.app[data-sidebar='collapsed'] #side .brand { justify-content: center; padding: 0; }
.app[data-sidebar='collapsed'] #nav { align-items: center; gap: 8px; }
.app[data-sidebar='collapsed'] #nav button { justify-content: center; width: 46px; min-height: 46px; padding: 12px; }
.app[data-sidebar='collapsed'] #nav .i { width: 21px; height: 21px; }
body:has(.app[data-sidebar='collapsed']) #tb { left: calc(50% + 41px); }
@media (max-width: 860px) {
  .app[data-sidebar='collapsed'] { display: block; }
  .app[data-sidebar='collapsed'] #side { position: sticky; top: 0; height: auto; padding: 10px 16px; display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; }
  .app[data-sidebar='collapsed'] .sidebar-controls { grid-column: 2; grid-row: 1; flex-direction: row; border-bottom: 0; padding: 0; gap: 4px; }
  .app[data-sidebar='collapsed'] #side .brand { grid-column: 1; grid-row: 1; justify-content: flex-start; }
  .app[data-sidebar='collapsed'] #side .logo { width: 36px; height: 36px; border-radius: 10px; }
  .app[data-sidebar='collapsed'] #nav { grid-column: 1 / -1; width: 100%; gap: 4px; }
  .app[data-sidebar='collapsed'] #nav button { flex: 0 0 44px; width: 44px; min-height: 44px; padding: 11px; }
  body:has(.app[data-sidebar='collapsed']) #tb { left: 50%; }
  .sidebar-controls { flex-direction: row; }
  .sidebar-toggle, .sidebar-home { width: auto; }
}
