  *{box-sizing:border-box;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--font-body);
    font-size:var(--text-body);line-height:1.5;
    -webkit-font-smoothing:antialiased;
    transition:background-color .2s ease,color .2s ease;
  }
  button,input,select,textarea{font-family:inherit}
  .wrap{width:min(100%,1280px);margin-inline:auto;padding:28px clamp(16px,2.5vw,32px) 80px;}
  .panel,.chart-card,.dashboard-grid,.kpi-grid,.stat-grid,.log-table-wrap,.cal-table-wrap{min-width:0;max-width:100%}
  .panel{overflow-x:clip}
  .overview-pair{display:block}
  .overview-nav{position:sticky;top:0;z-index:15;display:flex;gap:4px;overflow-x:auto;margin:0 0 var(--space-4);padding:7px;background:var(--paper);border:1px solid var(--paper-line);scrollbar-width:thin}
  .overview-nav a{flex:0 0 auto;padding:7px 10px;color:var(--ink-soft);font:10px var(--font-data);letter-spacing:.04em;text-decoration:none;text-transform:uppercase}
  .overview-nav a:hover,.overview-nav a:focus-visible{background:var(--slate-bg);color:var(--heading);outline:1px solid var(--gold)}
  [id^="overview-"]{scroll-margin-top:74px}
  .more-tab-btn,.mobile-more-menu{display:none}
  .print-report-meta{display:none}

  /* ===== HERO / EXTRATO HEADER ===== */
  .statement{
    background:var(--navy);
    color:var(--on-navy);
    border-radius:var(--radius);
    padding:32px 30px 26px;
    position:relative;
    overflow:hidden;
    box-shadow:0 1px 0 var(--gold);
  }
  .statement::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:repeating-linear-gradient(90deg, rgba(232,185,74,0.05) 0 1px, transparent 1px 40px);
    pointer-events:none;
  }
  .statement-top{
    display:flex;justify-content:space-between;align-items:flex-start;
    border-bottom:1px solid rgba(246,243,236,0.18);
    padding-bottom:18px;margin-bottom:18px;
    flex-wrap:wrap;gap:12px;
  }
  .statement-eyebrow{
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--gold-bright);
  }
  .statement-title{
    font-family:'Fraunces',serif;
    font-size:28px;font-weight:600;
    margin:4px 0 0;
    letter-spacing:-0.01em;
  }
  .brand-home{border:0;background:transparent;color:inherit;cursor:pointer;padding:0;text-align:left}
  .brand-home:hover,.brand-home:focus-visible{color:var(--gold-bright);text-decoration:underline;text-underline-offset:4px}
  .compact-brand{font:var(--font-weight-semibold) 17px var(--font-display);text-transform:none;letter-spacing:0;white-space:nowrap}
  .statement-account{
    font-family:'IBM Plex Mono',monospace;
    font-size:12px;color:rgba(246,243,236,0.7);
    text-align:right;
  }
  .statement-account strong{color:var(--on-navy);display:block;font-size:13px;}
  .statement-body{display:flex;gap:36px;flex-wrap:wrap;align-items:flex-end;}
  .balance-block{flex:1;min-width:220px;}
  .balance-label{font-size:11px;text-transform:uppercase;letter-spacing:0.1em;color:rgba(246,243,236,0.55);margin-bottom:6px;}
  .balance-figure{
    font-family:'Fraunces',serif;font-weight:600;
    font-size:54px;line-height:1;color:var(--gold-bright);
    display:flex;align-items:baseline;gap:4px;
  }
  .balance-figure span{font-size:22px;color:rgba(246,243,236,0.7);font-family:'IBM Plex Mono',monospace;font-weight:400;}
  .balance-sub{font-family:'IBM Plex Mono',monospace;font-size:12px;color:rgba(246,243,236,0.55);margin-top:8px;}
  .mini-stats{display:flex;gap:22px;flex-wrap:wrap;}
  .mini-stat{font-family:'IBM Plex Mono',monospace;}
  .mini-stat .n{font-size:22px;color:var(--on-navy);}
  .mini-stat .l{font-size:10px;text-transform:uppercase;letter-spacing:0.09em;color:rgba(246,243,236,0.5);}

  .exam-countdown{
    margin-top:20px;padding-top:16px;border-top:1px solid rgba(246,243,236,0.18);
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
  }
  .exam-countdown-label{
    font-family:'IBM Plex Mono',monospace;font-size:12px;color:rgba(246,243,236,0.65);
    display:flex;align-items:center;gap:8px;
  }
  .exam-countdown-label input[type=date]{
    font-family:'IBM Plex Mono',monospace;font-size:12px;background:rgba(246,243,236,0.08);
    border:1px solid rgba(246,243,236,0.25);color:var(--on-navy);padding:5px 8px;border-radius:2px;
    color-scheme:dark;
  }
  .exam-countdown-figure{
    font-family:'Fraunces',serif;font-weight:600;font-size:18px;color:var(--gold-bright);
  }
  .exam-countdown-figure.urgent{color:var(--warn-on-dark);}


  .approval-scale{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:14px;border:1px solid var(--paper-line);background:var(--paper-line);font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase}
  .approval-scale span{padding:9px 8px;text-align:center;background:var(--paper)}
  .approval-scale-danger{color:var(--danger-text)}.approval-scale-warn{color:var(--warn-text)}.approval-scale-good,.approval-scale-great{color:var(--good-text)}
  .retention-summary{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);margin:-4px 0 14px}
  .retention-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(140px,2fr) 58px;gap:12px;align-items:center;margin:10px 0}
  .retention-topic{min-width:0}.retention-topic strong{display:block;font-size:13px;color:var(--heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .retention-topic span{display:block;font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--ink-soft);text-transform:uppercase;margin-top:2px}
  .retention-track{height:10px;background:var(--slate-bg);border:1px solid var(--paper-line);overflow:hidden}.retention-fill{height:100%;background:var(--navy)}.retention-fill.warn{background:var(--amber)}.retention-fill.ok{background:var(--ok-fill)}
  .retention-value{font-family:'Fraunces',serif;font-size:18px;color:var(--heading);text-align:right}
  @media(max-width:620px){.approval-scale{grid-template-columns:repeat(2,1fr)}.retention-row{grid-template-columns:1fr 54px}.retention-track{grid-column:1/-1;grid-row:2}}


  .kpi-cell.kpi-link{appearance:none;width:100%;font:inherit;text-align:left;cursor:pointer;color:inherit;border:0;border-radius:0;box-shadow:none;transition:filter .15s,transform .15s}
  .kpi-cell.kpi-link:hover{background:var(--navy);outline:none;box-shadow:none;filter:brightness(1.12)}
  .kpi-cell.kpi-link:focus-visible{background:var(--navy);outline:2px solid var(--gold);outline-offset:-2px;box-shadow:none;filter:brightness(1.12)}
  .kpi-cell.kpi-link:active{transform:translateY(1px)}
  .exam-progress{flex-basis:100%;display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:10px;align-items:center;margin-top:4px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:rgba(246,243,236,.62)}
  .exam-progress-track{height:7px;background:rgba(246,243,236,.12);border:1px solid rgba(246,243,236,.2);overflow:hidden}
  .exam-progress-fill{height:100%;background:var(--gold-bright);transition:width .2s}
  .exam-progress-days{grid-column:1/-1;text-align:right;font-size:9px}
  .quick-review-btn{white-space:nowrap;margin-left:6px}
  @media(max-width:620px){.exam-progress{grid-template-columns:1fr auto}.exam-progress-label{display:none}.exam-progress-track{grid-column:1}.exam-progress-days{grid-column:1/-1}}

  /* ===== TABS ===== */
  .tabs{
    display:flex;gap:2px;margin-top:26px;flex-wrap:wrap;
    border-bottom:2px solid var(--heading);
  }
  .tab-btn{
    font-family:'IBM Plex Mono',monospace;
    font-size:12px;letter-spacing:0.06em;text-transform:uppercase;
    background:var(--slate-bg);
    border:none;padding:11px 18px;cursor:pointer;color:var(--ink-soft);
    border-radius:var(--radius) var(--radius) 0 0;
    transition:background 0.15s,color 0.15s;
  }
  .tab-btn.active{background:var(--navy);color:var(--gold-bright);}
  .tab-btn:hover:not(.active){background:var(--tab-hover-bg);}

  .panel{display:none;padding-top:22px;}
  .panel.active{display:block;animation:fade .25s ease;}
  @keyframes fade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}

  /* ===== SECTION HEADERS ===== */
  .section-head{
    display:flex;justify-content:space-between;align-items:center;
    margin-bottom:14px;flex-wrap:wrap;gap:10px;
  }
  .section-title{
    font-family:'Fraunces',serif;font-size:20px;font-weight:600;color:var(--heading);
  }
  .btn{
    font-family:'IBM Plex Mono',monospace;font-size:12px;
    background:var(--navy);color:var(--on-navy);border:none;
    padding:9px 16px;border-radius:var(--radius);cursor:pointer;
    letter-spacing:0.03em;
  }
  .btn:hover{background:var(--blue);}
  .btn.ghost{background:transparent;color:var(--heading);border:1px solid var(--heading);}
  .btn.ghost:hover{background:var(--navy);color:var(--on-navy);}
  .btn.danger{background:transparent;color:var(--red);border:1px solid var(--red);padding:6px 10px;font-size:11px;}
  .btn.danger:hover{background:var(--red);color:white;}
  .btn.small{padding:6px 10px;font-size:11px;}

  /* ===== VISUAL SYSTEM ===== */
  .sticky-shell{position:sticky;top:12px;z-index:30;margin-top:var(--space-3)}
  .compact-header{display:none;align-items:center;gap:var(--space-5);padding:10px 14px;background:var(--navy);color:var(--on-navy);border-bottom:1px solid var(--gold-bright);box-shadow:0 4px 12px var(--shadow-color);font:11px var(--font-data);text-transform:uppercase;letter-spacing:.05em}
  .compact-header>strong{font:var(--font-weight-semibold) 17px var(--font-display);text-transform:none;letter-spacing:0}
  .compact-meta{display:flex;align-items:center;gap:var(--space-5);margin-left:auto}
  .compact-header b{color:var(--gold-bright)}
  .compact-plan{margin-left:0}
  .sticky-shell.is-compact .compact-header{display:flex}
  .sticky-shell .global-search-row{margin-top:var(--space-2);background:var(--paper);border:1px solid var(--paper-line);box-shadow:0 4px 12px rgba(11,37,69,.08)}
  .section-title,.overview-section-heading,.chart-card h3{font-weight:var(--font-weight-semibold)}
  .empty-state,.diagnosis-empty{color:var(--ink-soft);font-weight:var(--font-weight-regular)}
  .empty-state--compact,.diagnosis-empty{padding:var(--space-4);border-left:2px solid var(--green);background:var(--green-bg)}
  .backup-danger-zone{display:inline-flex;margin-left:var(--space-2);padding-left:var(--space-3);border-left:1px solid var(--paper-line)}
  .badges-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
  .badge-card.unlocked{background:var(--white);border-color:var(--gold)}
  @media(max-width:620px){.compact-header{gap:var(--space-2);flex-wrap:wrap}.compact-header>strong{flex-basis:100%}.compact-meta{width:100%;gap:var(--space-3)}.compact-plan{margin-left:auto}.sticky-shell{top:8px}.backup-danger-zone{width:100%;margin:var(--space-2) 0 0;padding:var(--space-3) 0 0;border-left:0;border-top:1px solid var(--paper-line)}}

  /* ===== DASHBOARD CHARTS ===== */
  .chart-card{
    background:var(--white);border:1px solid var(--paper-line);
    border-radius:var(--radius);padding:20px 22px;margin-bottom:16px;
  }
  .chart-card h3{
    font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;
    letter-spacing:0.08em;color:var(--ink-soft);margin:0 0 16px;
  }
  .bar-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
  .bar-row:last-child{margin-bottom:0;}
  .bar-label{width:180px;font-size:13px;color:var(--ink);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .bar-track{flex:1;height:16px;background:var(--slate-bg);border-radius:2px;overflow:hidden;position:relative;}
  .bar-fill{height:100%;background:linear-gradient(90deg,var(--gold) 0%,var(--gold-bright) 100%);border-radius:2px;transition:width .4s ease;}
  .bar-pct{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-soft);width:42px;text-align:right;flex-shrink:0;}

  .progress-chart-empty{
    text-align:center;padding:24px;color:var(--ink-soft);font-size:13px;
  }
  .progress-chart-svg text{font-family:'IBM Plex Mono',monospace;font-size:9px;fill:var(--ink-soft);}
  .progress-chart-svg .chart-line{fill:none;stroke:var(--gold);stroke-width:2;}
  .progress-chart-svg .chart-area{fill:var(--gold);opacity:0.08;}
  .progress-chart-svg .chart-dot{fill:var(--gold-bright);stroke:var(--white);stroke-width:1.5;}
  .progress-chart-svg .chart-grid{stroke:var(--paper-line);stroke-width:1;}

  /* ===== RADAR DE DISCIPLINAS ===== */
  .radar-svg text{font-family:'IBM Plex Mono',monospace;font-size:10px;fill:var(--ink-soft);}
  .radar-grid{fill:none;stroke:var(--paper-line);stroke-width:1;}
  .radar-axis{stroke:var(--paper-line);stroke-width:1;}
  .radar-shape{fill:var(--gold);fill-opacity:0.18;stroke:var(--gold);stroke-width:2;}
  .radar-dot{fill:var(--gold-bright);stroke:var(--white);stroke-width:1.5;}
  .radar-shape.radar-series-2{fill:var(--blue);stroke:var(--blue);fill-opacity:.12}.radar-dot.radar-series-2{fill:var(--blue)}
  .radar-empty{text-align:center;padding:24px;color:var(--ink-soft);font-size:13px;}

  /* ===== PRIORIDADE INTELIGENTE ===== */
  .priority-card h3{color:var(--heading);}
  .priority-item{
    display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--paper-line);
  }
  .priority-item:last-child{border-bottom:none;}
  .priority-rank{
    font-family:'Fraunces',serif;font-size:20px;font-weight:600;color:var(--gold);
    width:28px;flex-shrink:0;text-align:center;
  }
  .priority-info{flex:1;min-width:0;}
  .priority-subject{font-family:'Fraunces',serif;font-size:14px;font-weight:600;color:var(--heading);}
  .priority-topic{font-size:12.5px;color:var(--ink-soft);margin-top:1px;}
  .priority-reason{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--ink-soft);margin-top:3px;}
  .priority-badge{
    font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;padding:5px 12px;
    border-radius:20px;white-space:nowrap;flex-shrink:0;
  }
  .priority-alta{background:var(--red-bg);color:var(--red);}
  .priority-media{background:var(--amber-bg);color:var(--amber);}
  .priority-baixa{background:var(--green-bg);color:var(--green);}

  /* ===== ALERTAS INTELIGENTES ===== */
  .alerta-item{
    display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:2px;margin-bottom:8px;
    font-size:13px;
  }
  .alerta-item:last-child{margin-bottom:0;}
  .alerta-icon{font-size:15px;flex-shrink:0;}
  .alerta-alta{background:var(--red-bg);color:var(--red);}
  .alerta-media{background:var(--amber-bg);color:var(--amber);}
  .alerta-baixa{background:var(--alerta-baixa-bg);color:var(--alerta-baixa-text);}
  .alerta-ok{background:var(--green-bg);color:var(--green);}

  /* ===== PLANO DE HOJE ===== */
  .plano-hoje-card{border-top:3px solid var(--gold);}
  .plano-item{padding:12px 0;border-bottom:1px solid var(--paper-line);}
  .plano-item:last-of-type{border-bottom:none;}
  .plano-item-head{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-soft);}
  .plano-item-title{font-family:'Fraunces',serif;font-size:15px;font-weight:600;color:var(--heading);margin-top:2px;}
  .plano-item-reason{font-size:12.5px;color:var(--ink-soft);margin-top:2px;}
  .plano-item-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px;}
  .plano-item-status{font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;color:var(--ink-soft);}
  .plano-item-progress{height:5px;background:var(--slate-bg);margin-top:8px;overflow:hidden;}
  .plano-item-progress span{display:block;height:100%;background:var(--gold);}
  .plano-item.is-active{background:var(--highlight-bg);margin:0 -12px;padding-left:12px;padding-right:12px;}
  .plano-item.is-completed{opacity:.72;}
  .plano-depois, .plano-meta{
    margin-top:14px;padding-top:14px;border-top:1px dashed var(--paper-line);
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  }
  .plano-depois-label{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-soft);}
  .plano-depois-item{font-family:'Fraunces',serif;font-size:15px;font-weight:600;color:var(--heading);}

  /* ===== METAS DE HOJE ===== */
  .metas-hoje-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;}
  .meta-hoje-card{background:var(--paper);border:1px solid var(--paper-line);border-radius:2px;padding:14px 16px;min-height:110px;display:flex;flex-direction:column;justify-content:space-between;}
  .meta-hoje-label{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:0.05em;}
  .meta-hoje-value{font-family:'Fraunces',serif;font-size:22px;font-weight:600;color:var(--heading);margin-top:4px;}
  .meta-hoje-value span{font-size:14px;color:var(--ink-soft);font-family:'IBM Plex Mono',monospace;}
  .meta-hoje-time{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;width:100%;}
  .meta-hoje-time-main{display:flex;flex-direction:column;gap:3px;min-width:0;}
  .meta-hoje-time-value{font-family:'Fraunces',serif;font-size:22px;font-weight:600;color:var(--heading);line-height:1;white-space:nowrap;}
  .meta-hoje-time-target{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);white-space:nowrap;}
  .meta-hoje-time-goal{display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
  .meta-hoje-time-goal span{font-family:'IBM Plex Mono',monospace;font-size:9px;font-weight:400;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;}
  .meta-hoje-time-goal input{width:60px;font-family:'IBM Plex Mono',monospace;font-size:12px;text-align:center;padding:5px 6px;border:1px solid var(--paper-line);border-radius:2px;background:var(--white);color:var(--ink);}

  /* ===== CRONÔMETRO ===== */
  .timer-block{display:flex;flex-direction:column;align-items:center;gap:14px;padding:8px 0;}
  .timer-display{
    font-family:'Fraunces',serif;font-weight:600;font-size:48px;color:var(--heading);
    letter-spacing:0.02em;
  }
  .timer-target{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);text-align:center;margin-top:-10px;}
  .timer-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
  .timer-context{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:100%;}
  .timer-context select{
    min-width:150px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink);
    background:var(--paper);border:1px solid var(--paper-line);border-radius:2px;padding:8px 10px;
  }
  .timer-context select:disabled{opacity:.65;cursor:not-allowed;}

  /* ===== HEATMAP ===== */
  .heatmap-grid{
    display:grid;grid-auto-flow:column;grid-template-rows:repeat(7, 13px);
    gap:3px;overflow-x:auto;padding-bottom:6px;
  }
  .heatmap-cell{width:13px;height:13px;border:0;padding:0;border-radius:2px;background:var(--slate-bg);}
  button.heatmap-cell{cursor:pointer;flex:0 0 auto;}
  button.heatmap-cell:hover,button.heatmap-cell:focus-visible{outline:2px solid var(--blue);outline-offset:1px;}
  button.heatmap-cell.selected{outline:2px solid var(--heading);outline-offset:1px;}
  .heatmap-cell.heat-1{background:var(--heat-1);}
  .heatmap-cell.heat-2{background:var(--gold);}
  .heatmap-cell.heat-3{background:var(--amber);}
  .heatmap-legend{display:flex;align-items:center;gap:6px;margin-top:10px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink-soft);}
  .heatmap-legend .heatmap-cell{width:11px;height:11px;}
  .heatmap-summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink-soft);}
  .session-day-row td{background:var(--slate-bg)!important;color:var(--heading);padding:0!important;}
  .session-day-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;color:inherit;padding:10px 12px;cursor:pointer;text-align:left;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;}
  .session-day-toggle:hover,.session-day-toggle:focus-visible{background:var(--paper);outline:none;}
  .session-day-chevron{font-size:13px;transition:transform .18s ease;}
  .session-day-toggle[aria-expanded="true"] .session-day-chevron{transform:rotate(90deg);}
  .list-view-footer td{padding:14px 12px!important;background:var(--white)!important;text-align:center;border-bottom:0!important;}
  .list-view-controls{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;}
  .list-view-count{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink-soft);margin-right:4px;}
  .history-read-row td{vertical-align:middle;}
  .row-primary{font-weight:600;color:var(--heading);}
  .row-secondary{font-size:11px;color:var(--ink-soft);margin-top:2px;}
  .number-cell{text-align:right;font-family:'IBM Plex Mono',monospace;white-space:nowrap;}
  .row-actions{display:flex;justify-content:flex-end;gap:6px;align-items:center;}
  .row-editing td{background:var(--amber-bg)!important;padding:14px!important;box-shadow:inset 0 0 0 1px var(--gold);}
  .inline-edit-form{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;align-items:end;}
  .inline-edit-form label{display:flex;flex-direction:column;gap:5px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink-soft);text-transform:uppercase;}
  .inline-edit-form input,.inline-edit-form select,.inline-edit-form textarea{width:100%;border:1px solid var(--paper-line);background:var(--white);color:var(--ink);padding:8px;font:12px 'IBM Plex Sans',sans-serif;}
  .inline-edit-form textarea{min-height:70px;resize:vertical;}
  .edit-notes-field{grid-column:span 2;}
  .inline-edit-actions{display:flex;gap:8px;align-items:center;grid-column:1/-1;}
  .mobile-history-card{display:none;}
  .mobile-filter-toggle{display:none;margin-bottom:10px}
  .review-group-row td{padding:0!important;background:var(--slate-bg)!important;border-bottom:1px solid var(--paper-line)}
  .review-group-row.overdue td{box-shadow:inset 3px 0 0 var(--red)}
  .review-group-row.today td{box-shadow:inset 3px 0 0 var(--gold)}
  .review-group-row.upcoming td{box-shadow:inset 3px 0 0 var(--blue)}
  .review-group-row.completed td{box-shadow:inset 3px 0 0 var(--green)}
  .review-group-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:0;background:transparent;color:var(--heading);text-align:left;cursor:pointer}
  .review-group-header.static{cursor:default}
  .review-group-title{font:600 12px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.05em}
  .review-group-meta{display:flex;align-items:center;gap:10px}
  .count-badge{min-width:25px;padding:3px 7px;border:1px solid var(--paper-line);background:var(--white);font:600 10px 'IBM Plex Mono',monospace;text-align:center}
  .review-group-chevron{font-size:18px;transition:transform .18s ease}
  .review-group-header[aria-expanded="true"] .review-group-chevron{transform:rotate(90deg)}
  .history-status{display:inline-flex;padding:4px 8px;border:1px solid var(--paper-line);font:600 9px 'IBM Plex Mono',monospace;text-transform:uppercase}
  .history-primary-action{white-space:nowrap}
  .mobile-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;}
  .mobile-card-date{font:10px 'IBM Plex Mono',monospace;color:var(--ink-soft);}
  .mobile-card-title{font-weight:600;color:var(--heading);}
  .mobile-card-subtitle{font-size:12px;color:var(--ink-soft);margin-top:2px;}
  .mobile-card-metrics{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:12px;font:10px 'IBM Plex Mono',monospace;color:var(--ink-soft);}
  .session-filter-summary{display:flex;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink-soft);}

  /* ===== BADGES ===== */
  .badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;}
  .badge-card{
    text-align:center;padding:14px 8px;border-radius:2px;border:1px solid var(--paper-line);
    background:var(--paper);opacity:1;filter:grayscale(1);
  }
  .badge-card.unlocked{opacity:1;filter:none;background:var(--white);border-color:var(--gold);}
  .badge-icon{font-size:26px;margin-bottom:6px;}
  .badge-name{font-family:'Fraunces',serif;font-size:12px;font-weight:600;color:var(--heading);}
  .badge-desc{font-size:10px;color:var(--ink-soft);margin-top:2px;line-height:1.3;}

  /* ===== TAGS DE TÓPICO ===== */
  .tag-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;}
  .tag-chip{
    font-family:'IBM Plex Mono',monospace;font-size:10px;background:var(--info-bg);color:var(--blue);
    padding:2px 7px;border-radius:20px;white-space:nowrap;
  }
  .topic-tags-input{
    width:100%;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink);
    background:var(--white);border:1px solid var(--paper-line);border-radius:2px;padding:8px 10px;margin-bottom:8px;
  }
  .topic-tags-input:focus{outline:1px dashed var(--gold);}

  /* ===== REORDENAR / DUPLICAR DISCIPLINA ===== */
  .subject-order-btns{display:flex;flex-direction:column;gap:1px;}
  .icon-btn-nav{
    background:none;border:none;color:var(--ink-soft);cursor:pointer;font-size:11px;
    line-height:1;padding:2px 4px;
  }
  .icon-btn-nav:hover:not(:disabled){color:var(--heading);}
  .icon-btn-nav:disabled{opacity:0.25;cursor:default;}

  .stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:var(--paper-line);border:1px solid var(--paper-line);margin-bottom:16px;}
  .stat-cell{background:var(--white);padding:16px 18px;}
  .stat-cell .n{font-family:'Fraunces',serif;font-size:26px;color:var(--heading);font-weight:600;}
  .stat-cell .l{font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:0.06em;margin-top:2px;}
  #studyTimeStats{grid-template-columns:repeat(3,minmax(0,1fr));}
  #studyTimeStats .stat-cell{min-height:92px;display:flex;flex-direction:column;justify-content:center;}

  /* ===== KPIs ===== */
  .kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2px;background:transparent;border:0;margin-bottom:16px;overflow:hidden;}
  #kpiGrid{grid-template-columns:repeat(5,minmax(0,1fr));}
  .kpi-cell{background:var(--navy);color:var(--on-navy);padding:16px 18px;}
  .kpi-cell .n{font-family:'Fraunces',serif;font-size:24px;font-weight:600;color:var(--gold-bright);}
  .kpi-cell .l{font-size:11px;color:rgba(246,243,236,0.72);text-transform:uppercase;letter-spacing:0.05em;margin-top:2px;overflow-wrap:anywhere;}
  .kpi-cell.warn .n{color:var(--warn-on-dark);}
  .kpi-cell.ok .n{color:var(--ok-on-dark);}

  /* ===== METAS ===== */
  .meta-card{
    background:var(--white);border:1px solid var(--paper-line);border-radius:var(--radius);
    padding:18px 22px;margin-bottom:14px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  }
  .meta-info{flex:1;min-width:180px;}
  .meta-name{font-family:'Fraunces',serif;font-size:16px;font-weight:600;color:var(--heading);}
  .meta-formula{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);margin-top:2px;}
  .meta-inputs{display:flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-soft);}
  .meta-inputs input{
    width:64px;font-family:'IBM Plex Mono',monospace;font-size:14px;text-align:center;
    padding:6px 4px;border:1px solid var(--paper-line);border-radius:2px;background:var(--paper);color:var(--ink);
  }
  .meta-progress-block{flex:2;min-width:200px;}
  .meta-progress-track{height:18px;background:var(--slate-bg);border-radius:2px;overflow:hidden;}
  .meta-progress-fill{height:100%;background:linear-gradient(90deg,var(--gold) 0%,var(--gold-bright) 100%);transition:width .4s ease;}
  .meta-progress-fill.over{background:linear-gradient(90deg,var(--green) 0%,var(--green-bright) 100%);}
  .meta-progress-label{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);margin-top:6px;display:flex;justify-content:space-between;}
  .weekday-goals{display:grid;grid-template-columns:repeat(7,minmax(78px,1fr));gap:8px;}
  .weekday-goal{display:flex;flex-direction:column;gap:6px;background:var(--paper);border:1px solid var(--paper-line);padding:10px;}
  .weekday-goal.today{border-color:var(--gold);background:var(--amber-bg);}
  .weekday-goal span{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink-soft);}
.weekday-goal input{width:100%;box-sizing:border-box;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:14px;padding:7px;border:1px solid var(--paper-line);background:var(--white);color:var(--ink);}
.weekday-goal>div{display:flex;align-items:center;gap:5px}.weekday-goal>div small{color:var(--ink-soft);font:10px var(--font-data)}
.weekly-availability-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:12px;background:var(--paper-line)}
.weekly-availability-summary>div{display:flex;flex-direction:column;gap:3px;padding:11px;background:var(--paper)}
.weekly-availability-summary strong{color:var(--heading);font-size:17px}.weekly-availability-summary span{color:var(--ink-soft);font:10px var(--font-data)}
.availability-warning{padding:10px 12px;background:var(--amber-bg);color:var(--amber);font:11px var(--font-data)}
  @media(max-width:760px){.weekday-goals{grid-template-columns:repeat(2,minmax(100px,1fr));}}

  .meta-disciplina-add{
    display:flex;gap:10px;align-items:center;flex-wrap:wrap;
    background:var(--white);border:1px dashed var(--paper-line);border-radius:var(--radius);
    padding:14px 18px;margin-bottom:14px;
  }
  .meta-disciplina-add select, .meta-disciplina-add input{
    font-family:'IBM Plex Mono',monospace;font-size:12.5px;padding:8px 10px;
    border:1px solid var(--paper-line);border-radius:2px;background:var(--paper);color:var(--ink);
  }

  .review-date-mode{display:flex;gap:5px;align-items:center;margin-top:4px;font-family:'IBM Plex Mono',monospace;font-size:8.5px;color:var(--ink-soft);}
  .review-date-mode button{border:0;background:none;color:var(--heading);padding:0;text-decoration:underline;cursor:pointer;font:inherit;}
  .weekly-history-table-wrap{overflow-x:auto;border-radius:var(--radius);}
  .weekly-history-table{width:100%;min-width:480px;border-collapse:collapse;font-size:12.5px;background:var(--white);border:1px solid var(--paper-line);border-radius:var(--radius);}
  .weekly-history-table th{
    text-align:left;font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;
    letter-spacing:0.05em;color:var(--on-navy);background:var(--navy);padding:9px 10px;
  }
  .weekly-history-table td{padding:8px 10px;border-bottom:1px solid var(--paper-line);font-family:'IBM Plex Mono',monospace;}
  .weekly-history-table tr:last-child td{border-bottom:none;}
  .wk-ok{color:var(--green);}
  .wk-fail{color:var(--red);}
  .wk-current{color:var(--ink-soft);font-style:italic;}

  .pace-block{padding:6px 0;}
  .pace-line{font-size:14px;color:var(--ink);line-height:1.7;}
  .pace-line strong{color:var(--heading);}
  .pace-status{
    margin-top:12px;padding:12px 16px;border-radius:2px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;
  }
  .pace-status.ok{background:var(--green-bg);color:var(--green);}
  .pace-status.warn{background:var(--red-bg);color:var(--red);}

  .desempenho-alerta{
    background:var(--red-bg);color:var(--red);padding:8px 14px;border-radius:2px;
    font-family:'IBM Plex Mono',monospace;font-size:12px;margin-top:6px;
  }
  .pace-status.neutral{background:var(--slate-bg);color:var(--ink-soft);}

  .log-table-wrap{background:var(--white);border:1px solid var(--paper-line);border-radius:var(--radius);overflow-x:auto;margin-bottom:20px;}
  .study-sessions-table{table-layout:fixed;min-width:760px!important;width:100%}.study-sessions-table th:nth-child(1){width:15%}.study-sessions-table th:nth-child(2){width:10%}.study-sessions-table th:nth-child(3){width:35%}.study-sessions-table th:nth-child(4){width:20%}.study-sessions-table th:nth-child(5){width:20%}
  .study-sessions-table th,.study-sessions-table td{overflow:hidden;text-overflow:ellipsis;}
  .study-sessions-table td:nth-child(3),.study-sessions-table td:nth-child(4){white-space:normal;overflow-wrap:anywhere}
  .session-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}
  .session-details-row td{background:var(--paper)!important;padding:12px 16px!important}
  .session-details-row dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}
  .session-details-row dl>div{min-width:0}.session-details-row dt{font:10px var(--font-data);color:var(--ink-soft);text-transform:uppercase}.session-details-row dd{margin:4px 0 0;overflow-wrap:anywhere}
  .study-sessions-table-wrap[hidden],.sessions-empty-state[hidden]{display:none!important;}
  .empty-state-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
  table.log{width:100%;border-collapse:collapse;font-size:13px;min-width:560px;}
  table.log thead th{
    text-align:left;font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;
    letter-spacing:0.06em;color:var(--on-navy);background:var(--navy);padding:10px 12px;
  }
  table.log tbody td{padding:8px 12px;border-bottom:1px solid var(--paper-line);}
  table.log tbody tr:nth-child(even){background:var(--zebra-bg);}
  table.log input,table.log select{
    border:none;background:transparent;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink);width:100%;padding:3px;
  }
  table.log input:focus,table.log select:focus{outline:1px dashed var(--gold);background:var(--paper);}
  table.log input[type=number]{text-align:right;}

  .breakdown-row td{padding:0 12px 14px;background:var(--zebra-bg);}
  .breakdown-box{background:var(--white);border:1px solid var(--paper-line);border-radius:2px;padding:10px 12px;}
  .breakdown-title{display:block;margin-bottom:10px}.breakdown-list{display:grid;gap:1px;background:var(--paper-line)}.breakdown-line{display:grid;grid-template-columns:minmax(240px,2fr) minmax(90px,.55fr) minmax(90px,.55fr) minmax(110px,.65fr) 36px;gap:14px;align-items:end;padding:12px;background:var(--white)}.breakdown-line label{display:grid;gap:4px}.breakdown-line label>span,.breakdown-result>span{font:9px var(--font-data);text-transform:uppercase;color:var(--ink-soft)}.breakdown-result{display:grid;gap:5px;align-self:stretch}.breakdown-result strong{font:600 18px var(--font-display);color:var(--heading)}
  .breakdown-line select, .breakdown-line input{
    font-family:'IBM Plex Mono',monospace;font-size:12px;padding:6px 8px;border:1px solid var(--paper-line);border-radius:2px;background:var(--paper);color:var(--ink);
  }
  .breakdown-add-btn{margin-top:4px;}


  /* ===== ANÁLISE DE QUESTÕES ===== */
  .error-toggle-btn{white-space:nowrap;border:1px solid var(--paper-line);background:var(--paper);color:var(--ink-soft);padding:5px 8px;font-family:'IBM Plex Mono',monospace;font-size:10px;cursor:pointer;}
  .error-breakdown-row td{background:var(--zebra-bg)!important;padding:0 12px 14px!important;}
  .error-breakdown-box{background:var(--white);border:1px solid var(--paper-line);padding:12px 14px;}
  .error-breakdown-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink-soft);}
  .error-breakdown-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px;}
  .error-breakdown-field{display:grid;grid-template-columns:1fr 58px;gap:8px;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink-soft);}
  .error-breakdown-field input{border:1px solid var(--paper-line)!important;background:var(--paper)!important;padding:6px!important;text-align:right;}
  .analytics-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
  .analytics-toolbar select{font-family:'IBM Plex Mono',monospace;font-size:12px;padding:8px 10px;border:1px solid var(--paper-line);background:var(--paper);color:var(--ink);}
  .analytics-note{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink-soft);}
  .performance-row{display:grid;grid-template-columns:minmax(150px,1.4fr) 2fr minmax(125px,.8fr);gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--paper-line);}
  .performance-row:last-child{border-bottom:none;}
  .performance-name{font-family:'Fraunces',serif;font-size:14px;font-weight:600;color:var(--heading);}
  .performance-meta{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--ink-soft);margin-top:2px;}
  .performance-value{text-align:right;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);}
  .performance-track{height:8px;background:var(--slate-bg);overflow:hidden;}
  .performance-fill{height:100%;min-width:0;transition:width .2s ease;}
  .performance-fill.strong{background:var(--green);}
  .performance-fill.attention{background:var(--gold);}
  .performance-fill.weak{background:var(--red);}
  .performance-fill.none{background:var(--slate-bg);}
  .trend-grid{display:grid;grid-template-columns:repeat(8,minmax(70px,1fr));gap:6px;overflow-x:auto;padding-bottom:6px;}
  .trend-week{display:flex;flex-direction:column;gap:4px;background:var(--paper);border:1px solid var(--paper-line);padding:9px;text-align:center;min-width:70px;}
  .trend-week span,.trend-week small{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--ink-soft);}
  .trend-week strong{font-family:'Fraunces',serif;font-size:19px;color:var(--heading);}
  .trend-week.insufficient{opacity:.68;}
  .trend-week-date{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--ink-soft);}
  .trend-week-value{font-family:'Fraunces',serif;font-size:19px;font-weight:600;color:var(--heading);margin:4px 0;}
  .trend-week-volume{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--ink-soft);}
  .trend-summary{margin-top:10px;padding:10px 12px;background:var(--slate-bg);font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink);}
  .error-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;}
  .error-profile-item{display:flex;flex-direction:column;justify-content:flex-start;gap:6px;align-items:flex-start;min-width:0;background:var(--paper);border:1px solid var(--paper-line);padding:12px;}
  .error-profile-item span{font-family:'IBM Plex Mono',monospace;font-size:10px;line-height:1.45;color:var(--ink-soft);overflow-wrap:anywhere;}
  .error-profile-item strong{font-family:'Fraunces',serif;font-size:20px;color:var(--heading);}
  .error-profile-label{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink-soft);}
  .error-profile-value{font-family:'Fraunces',serif;font-size:20px;font-weight:600;color:var(--heading);margin-top:3px;}
  @media (max-width:640px){
    .error-breakdown-grid{grid-template-columns:1fr;}
    .performance-row{grid-template-columns:1fr;}
    .performance-value{text-align:left;}
  }

  @media (max-width:760px){
    .tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;}
    .tab-btn{min-width:0;padding-inline:7px;white-space:normal;}
    .tabs .tab-secondary{display:none}
    .more-tab-btn{display:block}
    .more-tab-btn.active{background:var(--navy);color:var(--gold-bright)}
    .mobile-more-menu{position:absolute;z-index:40;right:12px;display:grid;min-width:220px;padding:6px;background:var(--white);border:1px solid var(--paper-line);box-shadow:0 10px 24px rgba(11,37,69,.18)}
    .mobile-more-menu[hidden]{display:none}
    .mobile-more-menu button{border:0;background:transparent;color:var(--ink);padding:12px;text-align:left;font:12px var(--font-data);cursor:pointer}
    .mobile-more-menu button:hover,.mobile-more-menu button:focus-visible,.mobile-more-menu button.active{background:var(--slate-bg);color:var(--heading);outline:1px solid var(--gold)}
    .history-desktop-row{display:none;}
    .responsive-history-table{min-width:0!important;}
    .responsive-history-table thead{display:none;}
    .mobile-history-row td{display:table-cell!important;padding:8px!important;background:transparent!important;}
    .mobile-history-card{display:block;background:var(--white);border:1px solid var(--paper-line);padding:14px;}
    .inline-edit-form{grid-template-columns:1fr;}
    .edit-notes-field{grid-column:1;}
    .inline-edit-form input,.inline-edit-form select,.inline-edit-form textarea,.inline-edit-form button,.mobile-history-card button{min-height:44px;}
    .inline-edit-actions{grid-column:1;flex-direction:column-reverse;align-items:stretch;}
    .inline-edit-actions .btn{width:100%;}
    .session-details-row dl{grid-template-columns:1fr}
    #studySessionsCard .cal-filters select,#studySessionsCard .cal-filters button{width:100%;min-height:44px;}
    #studySessionsCard .session-filter-summary{width:100%;}
    .mobile-filter-toggle{display:inline-flex;width:100%;justify-content:center;min-height:44px}
    .cal-filters.responsive-filters{display:none;flex-direction:column;align-items:stretch}
    .cal-filters.responsive-filters.show{display:flex}
    .responsive-filters select{width:100%;min-height:44px}
    #panel-calendario .cal-table-wrap,#panel-agenda .cal-table-wrap{overflow:visible;border:0;background:transparent}
    #panel-calendario table.cal,#panel-agenda table.cal{min-width:0}
  }

  .upcoming-list{list-style:none;margin:0;padding:0;}
  .upcoming-list li{
    display:flex;justify-content:space-between;align-items:center;
    padding:10px 0;border-bottom:1px solid var(--paper-line);font-size:13px;
  }
  .upcoming-list li:last-child{border-bottom:none;}
  .upcoming-date{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-soft);width:80px;flex-shrink:0;}
  .upcoming-empty{color:var(--ink-soft);font-size:13px;padding:6px 0;}

  /* ===== LEDGER TABLE (Disciplinas) ===== */
  .subject-block{background:var(--white);border:1px solid var(--paper-line);border-radius:var(--radius);margin-bottom:14px;overflow:hidden;}
  .subject-header{
    display:flex;justify-content:space-between;align-items:center;
    padding:14px 18px;background:var(--slate-bg);cursor:pointer;
    border-bottom:1px solid var(--paper-line);
  }
  .subject-header-left{display:flex;align-items:center;gap:12px;}
  .subject-name{font-family:'Fraunces',serif;font-weight:600;font-size:16px;color:var(--heading);}
  .subject-name[contenteditable]:focus{outline:1px dashed var(--gold);background:white;padding:2px 4px;}
  .subject-progress-pill{
    font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-soft);
    background:var(--white);border:1px solid var(--paper-line);padding:3px 9px;border-radius:20px;
  }
  .subject-toggle{font-family:'IBM Plex Mono',monospace;font-size:16px;color:var(--ink-soft);transition:transform .2s;}
  .subject-body{padding:6px 18px 14px;}
  .subject-body.collapsed{display:none;}

  .ledger-scroll{overflow-x:auto;}
  table.ledger{width:100%;min-width:680px;border-collapse:collapse;font-size:13px;}
  table.ledger thead th{
    text-align:left;font-family:'IBM Plex Mono',monospace;font-size:10px;
    text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-soft);
    padding:8px 6px;border-bottom:1px solid var(--paper-line);font-weight:500;
  }
  table.ledger tbody td{padding:9px 6px;border-bottom:1px solid var(--paper-line);vertical-align:middle;}
  table.ledger tbody tr:last-child td{border-bottom:none;}
  table.ledger input[type=text], table.ledger input[type=url]{
    width:100%;border:none;background:transparent;font-family:inherit;font-size:13px;color:var(--ink);
    padding:4px 2px;border-radius:2px;
  }
  table.ledger input:focus{outline:1px dashed var(--gold);background:var(--white);}
  .topic-link{color:var(--blue);text-decoration:none;font-size:12px;}
  .topic-link:hover{text-decoration:underline;}
  .no-link{color:var(--ink-soft);font-size:12px;font-style:italic;}

  select.status-select{
    font-family:'IBM Plex Mono',monospace;font-size:11px;padding:5px 8px;border-radius:20px;
    border:1px solid transparent;cursor:pointer;appearance:none;text-align:center;font-weight:500;
  }
  .st-nao{background:var(--slate-bg);color:var(--ink-soft);}
  .st-and{background:var(--amber-bg);color:var(--amber);}
  .st-rev{background:var(--info-bg);color:var(--blue);}
  .st-con{background:var(--green-bg);color:var(--green);}

  .stamp{
    display:none;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--green);
    border:2px solid var(--green);border-radius:4px;padding:2px 6px;transform:rotate(-6deg);
    text-transform:uppercase;letter-spacing:0.05em;
  }
  tr[data-status="Concluído"] .stamp{display:inline-block;}

  .dias-pill{
    display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;
    padding:4px 10px;border-radius:20px;white-space:nowrap;
  }
  .dias-atrasada{background:var(--red-bg);color:var(--red);}
  .dias-hoje{background:var(--navy);color:var(--on-navy);}
  .dias-proxima{background:var(--info-bg);color:var(--blue);}
  .dias-futura{background:var(--slate-bg);color:var(--ink-soft);}

  .diff-facil{background:var(--green-bg);color:var(--green);}
  .diff-medio{background:var(--amber-bg);color:var(--amber);}
  .diff-dificil{background:var(--red-bg);color:var(--red);}

  .add-topic-row{padding:10px 6px 2px;}
  .archived-section{margin-top:16px;padding:14px 16px;border:1px dashed var(--paper-line);background:var(--paper);}
  .archived-section-title{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:10px;}
  .archived-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--paper-line);}
  .archived-item:last-child{border-bottom:none;}
  .archived-item-name{font-family:'Fraunces',serif;font-size:14px;font-weight:600;color:var(--heading);}
  .archived-item-date{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink-soft);margin-top:2px;}
  .archived-item-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
  .icon-btn{background:none;border:none;color:var(--red);cursor:pointer;font-size:14px;opacity:0.5;}
  .icon-btn:hover{opacity:1;}
  .notes-toggle-btn{font-size:11px;padding:5px 8px;white-space:nowrap;}
  .notes-toggle-btn.has-notes{border-color:var(--gold);color:var(--amber);}
  tr.notes-row td{padding:0 6px 12px;border-bottom:1px solid var(--paper-line);}
  .topic-notes-textarea{
    width:100%;min-height:64px;font-family:'IBM Plex Sans',sans-serif;font-size:13px;color:var(--ink);
    background:var(--paper);border:1px solid var(--paper-line);border-radius:2px;padding:10px;resize:vertical;
  }
  .topic-notes-textarea:focus{outline:1px dashed var(--gold);}

  /* ===== CALENDAR ===== */
  .cal-filters{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
  .cal-filters select{
    font-family:'IBM Plex Mono',monospace;font-size:12px;padding:7px 10px;
    border:1px solid var(--paper-line);background:var(--white);border-radius:2px;color:var(--ink);
  }
  .cal-table-wrap{background:var(--white);border:1px solid var(--paper-line);border-radius:var(--radius);overflow-x:auto;}

  /* ===== VISÃO MENSAL ===== */
  .calendar-month-toolbar{
    display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:14px;
  }
  .calendar-month-toolbar h3{
    font-family:'Fraunces',serif;font-size:16px;font-weight:600;color:var(--heading);margin:0;
    min-width:170px;text-align:center;text-transform:none;letter-spacing:normal;
  }
  .month-nav-btn{
    background:var(--navy);color:var(--on-navy);border:none;border-radius:2px;
    padding:6px 12px;font-size:13px;cursor:pointer;
  }
  .month-nav-btn:hover{background:var(--blue);}
  .month-grid-wrap{overflow-x:auto;}
  .month-grid{
    display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;
    background:var(--paper-line);border:1px solid var(--paper-line);min-width:640px;
  }
  .month-header{
    background:var(--navy);color:var(--on-navy);padding:8px;text-align:center;
    font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:0.05em;
  }
  .month-day{
    min-height:96px;background:var(--white);padding:6px;display:flex;flex-direction:column;gap:3px;
  }
  .month-day.outside{background:var(--month-outside-bg);color:var(--month-outside-text);}
  .month-day.outside .day-number{color:var(--month-outside-text);}
  .month-day.today{box-shadow:inset 0 0 0 2px var(--gold);}
  .day-number{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;color:var(--ink);}
  .cal-event{
    font-size:10px;padding:2px 6px;border-radius:2px;overflow:hidden;
    text-overflow:ellipsis;white-space:nowrap;cursor:default;
  }
  .event-hoje{background:var(--info-bg);color:var(--blue);}
  .event-atrasada{background:var(--red-bg);color:var(--red);}
  .event-concluida{background:var(--green-bg);color:var(--green);}
  .event-futura{background:var(--slate-bg);color:var(--ink-soft);}
  .cal-event-more{font-size:10px;color:var(--ink-soft);font-family:'IBM Plex Mono',monospace;padding:1px 6px;}
  table.cal{width:100%;border-collapse:collapse;font-size:13px;min-width:1000px;}
  table.cal thead th{
    text-align:left;font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;
    letter-spacing:0.06em;color:var(--on-navy);background:var(--navy);padding:10px 12px;
  }
  table.cal tbody td{padding:9px 12px;border-bottom:1px solid var(--paper-line);}
  table.cal tbody tr:nth-child(even){background:var(--zebra-bg);}
  table.cal tbody tr.today{box-shadow:inset 3px 0 0 var(--gold);}
  table.cal input[type=text],table.cal input[type=date]{
    border:none;background:transparent;font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink);width:100%;padding:3px;
  }
  table.cal input:focus{outline:1px dashed var(--gold);background:var(--paper);}

  .empty-state{
    text-align:center;padding:40px 20px;color:var(--ink-soft);
    border:1px dashed var(--paper-line);border-radius:var(--radius);background:var(--white);
  }
  .empty-state p{margin:6px 0 14px;font-size:13px;}

  footer{
    margin-top:40px;text-align:center;font-family:'IBM Plex Mono',monospace;
    font-size:11px;color:var(--ink-soft);letter-spacing:0.03em;
  }

  .backup-block{
    margin-top:30px;background:var(--white);border:1px dashed var(--paper-line);border-radius:var(--radius);
    padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  }
  .backup-title{font-family:'Fraunces',serif;font-size:14px;font-weight:600;color:var(--heading);}
  .backup-desc{font-size:12px;color:var(--ink-soft);max-width:420px;margin-top:2px;}
  .backup-actions{display:flex;gap:8px;align-items:flex-end;flex-shrink:0;flex-wrap:wrap}.backup-period{display:flex;flex-direction:column;gap:5px}.backup-period>span,.backup-danger-zone strong{font:600 10px var(--font-data);text-transform:uppercase;color:var(--heading)}
  .backup-block>.backup-danger-zone{display:flex;flex:1 0 100%;align-items:center;justify-content:space-between;gap:16px;margin:8px 0 0;padding:14px 0 0;border-left:0;border-top:1px solid var(--paper-line)}.backup-danger-zone>div{display:grid;gap:3px}.backup-danger-zone span{font-size:11px;color:var(--ink-soft);text-transform:none}
  .demo-banner{position:sticky;top:0;z-index:95;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--gold);background:var(--highlight-bg);color:var(--ink)}
  .demo-banner[hidden]{display:none}.demo-banner>div:first-child{display:flex;flex-direction:column;gap:2px}.demo-banner strong{color:var(--heading);font:600 11px var(--font-data);letter-spacing:.08em}.demo-banner span{font-size:12px;color:var(--ink-soft)}.demo-banner-actions{display:flex;gap:8px;flex-shrink:0}
  .demo-tour{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.demo-tour button{border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit;padding:2px}.demo-empty-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;margin-bottom:16px;border:1px solid var(--line);background:var(--paper)}.demo-empty-cta[hidden]{display:none}.demo-empty-cta div{display:grid;gap:4px}.demo-empty-cta span{color:var(--ink-soft);font-size:12px}
  [data-demo-protected]:disabled{cursor:not-allowed;opacity:1;filter:saturate(.72)}
  .save-indicator{
    position:fixed;bottom:18px;right:18px;
    font-family:'IBM Plex Mono',monospace;font-size:11px;
    background:var(--navy);color:var(--gold-bright);padding:8px 14px;border-radius:20px;
    opacity:0;visibility:hidden;transform:translateY(8px);transition:transform .3s ease;pointer-events:none;
  }
  .save-indicator.show{opacity:1;visibility:visible;transform:none;}

  /* ===== MODAL DE CONFIRMAÇÃO ===== */
  .modal-overlay{
    position:fixed;inset:0;background:rgba(11,37,69,0.55);
    display:none;align-items:center;justify-content:center;z-index:1000;padding:20px;
  }
  .modal-overlay.show{display:flex;}
  .modal-box{
    background:var(--white);border-radius:var(--radius);max-width:360px;width:100%;
    padding:24px 26px;box-shadow:0 12px 32px var(--shadow-color);
    border-top:3px solid var(--gold);
  }
  .modal-box p{font-size:14px;color:var(--ink);line-height:1.5;margin:0 0 20px;}
  .modal-prompt{margin:-6px 0 20px;}
  .modal-prompt label{display:block;margin-bottom:6px;font:600 12px 'IBM Plex Mono',monospace;color:var(--ink);}
  .modal-prompt input{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid var(--paper-line);border-radius:3px;background:var(--paper);color:var(--ink);font:14px 'IBM Plex Sans',sans-serif;}
  .modal-prompt input:focus{outline:2px solid var(--gold);outline-offset:1px;}
  .modal-prompt-error{display:block;min-height:17px;margin-top:5px;color:var(--red);font:11px 'IBM Plex Mono',monospace;}
  .modal-actions{display:flex;justify-content:flex-end;gap:10px;}

  /* ===== TOAST DE AVISO ===== */
  .toast{
    position:fixed;top:18px;left:50%;transform:translateX(-50%) translateY(-12px);
    background:var(--gold-bright);color:var(--navy);
    font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:600;
    padding:12px 20px;border-radius:4px;box-shadow:0 6px 18px var(--shadow-color);
    opacity:0;pointer-events:none;transition:all .25s ease;z-index:1100;max-width:80vw;text-align:center;
  }
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
  .app-error-state{position:fixed;left:50%;bottom:76px;z-index:1200;transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:min(620px,calc(100vw - 32px));padding:12px 14px;background:var(--paper);border:1px solid var(--danger);box-shadow:var(--shadow-lg)}
  .app-error-state[hidden]{display:none}
  .modal-primary-action{padding:9px 16px;font-size:12px}
  .session-question-fields{display:flex;gap:10px}
  .session-detail-control{flex:1;font-family:'IBM Plex Mono',monospace;font-size:13px;padding:9px;border:1px solid var(--paper-line);border-radius:2px;background:var(--paper)}
  .session-notes{font-family:'IBM Plex Sans',sans-serif;resize:vertical;min-height:58px}

  @media (max-width:640px){
    .balance-figure{font-size:38px;}
    .bar-label{width:110px;font-size:12px;}
    .statement{padding:24px 18px;}
    #studyTimeStats{grid-template-columns:repeat(1,minmax(0,1fr));}
    .meta-hoje-time{grid-template-columns:1fr;align-items:start;}
    .meta-hoje-time-goal{align-items:flex-start;}
  }

  /* ===== BUSCA GLOBAL ===== */
  .global-search-row{display:flex;gap:10px;align-items:flex-start;margin-top:22px;}
  .global-search{position:relative;flex:1;margin-top:0;}
  .global-search input{
    width:100%;font-family:'IBM Plex Sans',sans-serif;font-size:14px;
    padding:12px 16px;border:1px solid var(--paper-line);border-radius:2px;
    background:var(--white);color:var(--ink);
  }
  .global-search input:focus{outline:none;border-color:var(--gold);}
  .theme-toggle-btn{
    flex-shrink:0;width:46px;height:46px;background:var(--white);border:1px solid var(--paper-line);
    border-radius:2px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;
    color:var(--ink);transition:background-color .2s ease,border-color .2s ease;
  }
  .theme-toggle-btn:hover{border-color:var(--gold);}
  .search-results{
    position:absolute;top:calc(100% + 4px);left:0;right:0;
    background:var(--white);border:1px solid var(--paper-line);border-radius:2px;
    box-shadow:0 10px 24px var(--shadow-color);z-index:200;
    display:none;max-height:320px;overflow-y:auto;
  }
  .search-results.show{display:block;}
  .search-result-item{
    padding:10px 16px;cursor:pointer;border-bottom:1px solid var(--paper-line);
    display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;
  }
  .search-result-item:last-child{border-bottom:none;}
  .search-result-item:hover{background:var(--paper);}
  .search-result-item strong{color:var(--heading);font-family:'Fraunces',serif;font-weight:600;}
  .search-result-item span{color:var(--ink-soft);font-family:'IBM Plex Mono',monospace;font-size:11px;flex-shrink:0;}
  .search-result-empty{padding:14px 16px;color:var(--ink-soft);font-size:13px;}
  .highlight-flash{animation:flashRow 1.6s ease;}
  @keyframes flashRow{
    0%,100%{background:transparent;}
    20%,60%{background:var(--amber-bg);}
  }
/* Acessibilidade */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:12px;top:12px;z-index:10000;padding:10px 14px;background:var(--navy);color:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0);outline:3px solid var(--gold);outline-offset:2px}
:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--gold);outline-offset:2px}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

@media (max-width:640px){
  .demo-banner{position:static;align-items:stretch;flex-direction:column}.demo-banner-actions{display:grid;grid-template-columns:1fr 1fr}.demo-banner-actions .btn{white-space:normal}.demo-empty-cta{align-items:flex-start;flex-direction:column}
  .backup-actions{width:100%;flex:1 1 100%;flex-shrink:1;flex-wrap:wrap;min-width:0}
  .backup-actions .btn{min-width:0;flex:1 1 140px;white-space:normal}
}

/* Refinamento visual progressivo */
.statement{transition:padding .2s ease}
.statement.statement--compact{padding:16px 22px}
.statement.statement--compact{display:grid;grid-template-columns:minmax(190px,1fr) auto auto;align-items:center;gap:24px;overflow:visible}
.statement--compact .statement-top{padding-bottom:0;margin-bottom:0;border-bottom:0;align-items:center}
.statement--compact .statement-title{font-size:20px;margin-top:1px}
.statement--compact .statement-body{position:static;gap:16px;align-items:center;justify-content:flex-end}
.statement--compact .balance-label,.statement--compact .balance-sub,.statement--compact .mini-stat:not(:last-child),.statement--compact .exam-countdown-label,.statement--compact .exam-progress{display:none!important}
.statement--compact .balance-block{min-width:0;display:flex;align-items:baseline;gap:6px}
.statement--compact .balance-figure{font-size:23px}
.statement--compact .balance-figure span{font-size:12px}
.statement--compact .mini-stats{gap:0}
.statement--compact .mini-stat .n{font-size:18px}
.statement--compact .mini-stat .l{font-size:var(--text-xs)}
.statement--compact .exam-countdown{position:static;margin:0;padding:0;border:0;white-space:nowrap;text-align:right}
.statement--compact .exam-countdown-figure{font-size:14px}
.global-search-row--compact{margin-top:12px}

.heatmap-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;font:var(--text-xs) var(--font-data);color:var(--ink-soft)}
.heatmap-toolbar>span{margin-right:auto;font-weight:600;color:var(--ink)}
.heatmap-toolbar select,.radar-toolbar select{min-height:36px;border:1px solid var(--paper-line);background:var(--paper);color:var(--ink);padding:7px 9px;font:11px var(--font-data)}
.heatmap-detail{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 12px;border:1px solid var(--paper-line);background:var(--paper);font:11px/1.5 var(--font-data);color:var(--ink)}
.heatmap-empty{margin-top:var(--space-3)}
.radar-toolbar{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.radar-toolbar label{display:flex;flex-direction:column;gap:5px;color:var(--ink-soft);font:10px var(--font-data);text-transform:uppercase}
.radar-analysis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.radar-analysis section{padding:12px;border:1px solid var(--paper-line);background:var(--paper)}
.radar-analysis h4{display:flex;align-items:center;gap:7px;margin:0 0 6px;color:var(--heading)}.radar-analysis p{margin:0 0 6px}.radar-analysis small{color:var(--ink-soft)}
.radar-analysis dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:10px 0 0;background:var(--paper-line)}.radar-analysis dl>div{padding:7px;background:var(--white);text-align:center}.radar-analysis dt{font:9px var(--font-data);color:var(--ink-soft)}.radar-analysis dd{margin:3px 0 0;font:10px var(--font-data);color:var(--heading)}
.radar-key{width:10px;height:10px;background:var(--gold);display:inline-block}.radar-key-2{background:var(--blue)}
.diagnosis-summary{display:grid;grid-template-columns:1fr;gap:12px}.diagnosis-summary section{padding:14px;border:1px solid var(--paper-line);background:var(--paper)}.diagnosis-summary h4{margin:0 0 10px}.diagnosis-summary article{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--paper-line)}.diagnosis-summary article:first-of-type{border-top:0}.diagnosis-summary article span,.diagnosis-empty,.confidence-note{color:var(--ink-soft);font:11px/1.5 var(--font-data)}.confidence-note{margin:12px 0 0}.study-recommendation{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.study-recommendation h4{margin:5px 0}.study-recommendation p{margin:5px 0;color:var(--ink-soft)}.study-recommendation ul{margin:10px 0 0;padding-left:18px}.recommendation-rank{color:var(--gold-deep);font:600 10px var(--font-data);text-transform:uppercase}.recommendation-actions{display:flex;gap:8px;flex-wrap:wrap}
.diagnosis-summary .diagnostic-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center}.diagnostic-row>strong{font:var(--font-weight-semibold) 13px var(--font-body);color:var(--heading)}.diagnostic-row>small{grid-column:1/-1;color:var(--ink-soft);font:12px var(--font-body)}.diagnostic-metrics{display:flex;gap:var(--space-3);align-items:center;font:10px var(--font-data);text-transform:uppercase}.diagnostic-metrics b{padding:3px 7px;background:var(--amber-bg);color:var(--amber)}.diagnostic-progress{grid-column:1/-1;height:5px;background:var(--slate-bg);overflow:hidden}.diagnostic-progress i{display:block;height:100%;background:var(--gold)}
.diagnostic-progress i{width:var(--progress,0)}.weekly-assessment,.period-comparison,.replan-summary{display:grid;gap:8px;margin-top:12px;padding:12px 0;border-top:1px solid var(--paper-line);background:transparent}.weekly-assessment>strong,.period-comparison>strong,.replan-summary>strong{color:var(--heading)}.weekly-assessment span{font-size:12px;color:var(--ink-soft)}.period-comparison>div{display:grid;grid-template-columns:minmax(120px,1fr) repeat(3,minmax(72px,.7fr));gap:12px;padding:7px 0;border-top:1px solid var(--paper-line)}.period-comparison .comparison-head{font:9px var(--font-data);text-transform:uppercase;color:var(--ink-soft)}.period-comparison span,.period-comparison b,.replan-summary small{font:11px var(--font-data)}.replan-summary dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;margin:0;background:var(--paper-line)}.replan-summary dl>div{padding:9px;background:var(--white)}.replan-summary dt{font:9px var(--font-data);text-transform:uppercase;color:var(--ink-soft)}.replan-summary dd{margin:4px 0 0;font-weight:600}.data-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--paper-line)}.data-row span,.data-row small{grid-column:1/-1;color:var(--ink-soft);font-size:11px}.data-score{font:600 11px var(--font-data);color:var(--heading)}
.recommendation-outcome{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin-bottom:12px;background:var(--paper-alt);border-left:3px solid var(--gold)}.recommendation-history{display:block;margin-top:10px;color:var(--ink-soft);font-family:var(--font-data)}
.study-recommendation-list{display:grid;gap:12px}.study-recommendation{padding:14px;border:1px solid var(--paper-line);background:var(--paper)}.study-recommendation.is-primary{border-left:4px solid var(--gold);background:var(--paper-alt)}.recommendation-content{min-width:0;flex:1}.recommendation-exclusions{margin-top:14px;border-top:1px solid var(--paper-line);padding-top:10px}.recommendation-exclusions summary{cursor:pointer;font:600 11px var(--font-data);color:var(--heading)}.recommendation-exclusions>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;padding:8px 0;border-bottom:1px solid var(--paper-line)}.recommendation-exclusions>div small{grid-column:2;color:var(--ink-soft);font:10px var(--font-data)}
.recommendation-capacity{display:flex;align-items:baseline;gap:6px;margin-bottom:12px;padding:9px 11px;background:var(--info-bg);color:var(--ink-soft);font:11px var(--font-data)}.recommendation-capacity strong{color:var(--heading);font-size:15px}
.priority-score-gauge{width:64px;height:64px;flex:0 0 64px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle closest-side,var(--paper) 76%,transparent 77% 99%),conic-gradient(var(--gold) calc(var(--priority)*1%),var(--paper-line) 0)}.priority-score-gauge strong{font-size:20px;line-height:1;color:var(--heading)}.priority-score-gauge span{font:11px var(--font-data);color:var(--ink-soft)}
.priority-reasons{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.priority-reasons span{padding:5px 8px;background:var(--success-bg);color:var(--ink-soft);font:11px/1.35 var(--font-data)}
.recommendation-contributions>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(70px,1fr) 34px;gap:8px;align-items:center}.contribution-track{height:5px;background:var(--paper-line)}.contribution-track i{display:block;height:100%;background:var(--gold)}
.review-rating-box{max-width:560px}.review-rating-box h3{margin:0 0 6px}.review-rating-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.review-rating-actions .btn{display:flex;flex-direction:column;align-items:center;gap:4px}.review-rating-actions small{font:9px var(--font-data);opacity:.75}
.strategic-print-report{display:none}
.config-section-title{margin:18px 0 8px;padding-bottom:7px;border-bottom:1px solid var(--paper-line);font:600 10px var(--font-data);text-transform:uppercase}.exam-blueprint-main{display:grid;grid-template-columns:repeat(3,minmax(150px,220px));gap:12px;margin:14px 0}.exam-blueprint-main label,.exam-subject-row label,.topic-strategy-fields label{display:flex;flex-direction:column;gap:5px;color:var(--ink-soft);font:10px var(--font-data);text-transform:uppercase}.exam-blueprint-main input,.exam-subject-row input,.exam-subject-row select,.topic-strategy-fields input{min-height:38px;padding:7px 9px;border:1px solid var(--paper-line);background:var(--white);color:var(--ink);font:12px var(--font-data)}.exam-subject-list{border-top:1px solid var(--paper-line)}.exam-subject-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(110px,.8fr) repeat(3,minmax(125px,1fr));gap:12px;align-items:end;padding:12px 0;border-bottom:1px solid var(--paper-line)}.exam-subject-row strong{align-self:center}.topic-strategy-fields{display:grid;grid-template-columns:repeat(2,minmax(160px,240px));gap:12px;margin-bottom:12px}
.topic-strategy-summary{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:10px 12px;border-left:3px solid var(--accent);background:var(--paper)}.topic-strategy-summary strong{font:600 12px var(--font-data)}.topic-strategy-summary span,.topic-strategy-fields small,.topic-prerequisites p{color:var(--ink-soft);font:11px/1.45 var(--font-data);text-transform:none}.topic-prerequisites{margin-bottom:12px;border:1px solid var(--paper-line);padding:10px 12px}.topic-prerequisites summary{cursor:pointer;font:600 11px var(--font-data)}.topic-prerequisites>div{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:6px 14px;max-height:190px;overflow:auto}.topic-prerequisite-choice{display:flex;align-items:flex-start;gap:7px;font:11px/1.4 var(--font-data)}.topic-prerequisite-choice input{margin-top:2px}.topic-prerequisite-choice:has(input:disabled){opacity:.55}
.mastery-topic>span:first-child small{display:block;margin-top:3px;color:var(--ink-soft);font:9px var(--font-data);line-height:1.35}
.topic-analytics-state{padding:12px;margin-bottom:12px;border:1px solid var(--paper-line);background:var(--paper)}.topic-analytics-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:10px;color:var(--ink-soft);font:10px var(--font-data);text-transform:uppercase}.topic-analytics-title strong{color:var(--heading)}.topic-analytics-title small{margin-left:auto;text-transform:none}.topic-analytics-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--paper-line)}.topic-analytics-metrics>div{display:flex;flex-direction:column;gap:4px;padding:9px;background:var(--white)}.topic-analytics-metrics span,.topic-analytics-metrics small{color:var(--ink-soft);font:10px var(--font-data)}.topic-analytics-metrics strong{color:var(--heading)}.topic-metric-track{height:4px;background:var(--paper-alt);overflow:hidden}.topic-metric-track i{display:block;height:100%;background:var(--gold);transition:width .2s ease}
.trend-comparison{display:block;margin-top:3px;color:var(--ink-soft);font:10px var(--font-data);font-weight:400}.recommendation-explanation{margin-top:12px;border-top:1px solid var(--paper-line);padding-top:10px}.recommendation-explanation summary{cursor:pointer;color:var(--heading);font:600 11px var(--font-data)}.recommendation-contributions{max-width:440px;margin-top:9px}.recommendation-contributions>div{display:flex;justify-content:space-between;gap:16px;padding:5px 0;border-bottom:1px solid var(--paper-line);font:11px var(--font-data)}.recommendation-contributions .recommendation-total{padding-top:8px;border-bottom:0;color:var(--heading)}.recommendation-explanation>small{display:block;margin-top:7px;color:var(--ink-soft)}
.study-plan-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:14px 0;background:var(--paper-line)}.study-plan-summary>div{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--white)}.study-plan-summary strong{color:var(--heading);font-size:18px}.study-plan-summary span,.study-plan-confidence{color:var(--ink-soft);font:10px var(--font-data)}.study-plan-confidence{padding:9px 11px;background:var(--info-bg)}.study-plan-subjects{margin-top:12px}.study-plan-subjects>div,.study-plan-topic{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--paper-line)}.study-plan-subjects span,.study-plan-topic span:last-child{color:var(--ink-soft);font:11px var(--font-data)}.study-plan-details{margin-top:12px}.study-plan-details summary{cursor:pointer;font-weight:600}.study-plan-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.confirmed-plan-note{display:flex;flex-direction:column;gap:4px;margin:12px 0;padding:12px;background:var(--success-bg);color:var(--ink)}.confirmed-plan-note span{color:var(--ink-soft);font:11px var(--font-data)}
.replan-allocations{margin:12px 0}.replan-allocations>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--paper-line)}.replan-allocations span{color:var(--ink-soft);font:11px var(--font-data)}
.alerta-item .alert-dismiss{margin-left:auto;white-space:nowrap}.error-analysis-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.error-analysis-toolbar select{min-height:38px;padding:7px 9px;border:1px solid var(--paper-line);background:var(--white);color:var(--ink);font:11px var(--font-data)}.error-profile-item small{display:block;margin-top:3px;color:var(--ink-soft);font:11px/1.4 var(--font-data)}
.heatmap-grid{max-width:100%;overflow-x:auto;padding:3px 0}
.metric-state{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:12px;border:1px solid var(--paper-line);background:var(--info-bg);color:var(--blue);font:600 var(--text-sm) var(--font-data)}
.metric-state span{font-weight:400;color:var(--ink-soft)}
.metric-state--insufficient{background:var(--amber-bg);color:var(--amber)}
.metric-state--ready{background:var(--green-bg);color:var(--green)}
.kpi-cell.neutral .n{color:var(--on-navy)}
.metric-row .bar-label small{display:block;margin-top:2px;font:var(--text-xs) var(--font-data);color:var(--ink-soft)}
.metric-row--empty .bar-fill{background:var(--slate-bg)}
.metric-row--insufficient .bar-fill{background:var(--gold)}
.empty-state--compact{padding:22px 18px}
.empty-state__icon{font-size:24px;margin-bottom:6px}
.empty-state strong{display:block;color:var(--heading);font:600 var(--text-lg) var(--font-display)}
.helper-text{max-width:80ch;margin:0 0 var(--space-4);color:var(--ink-soft);font:13px/1.5 var(--font-body)}
.helper-text--compact{margin-bottom:var(--space-3);font-size:var(--text-sm)}
.metadata-text{color:var(--ink-soft);font:var(--text-xs)/1.4 var(--font-data)}
.chart-card p,.section-description{max-width:80ch}
.chart-card,.subject-block,.backup-block{width:100%}
.calendar-helper-text{text-align:center;margin-top:-6px}
.overview-section-heading{display:flex;align-items:center;gap:var(--space-3);margin:32px 0 var(--space-4);color:var(--ink-soft);font:var(--text-xs) var(--font-data);letter-spacing:.08em;text-transform:uppercase}
.overview-section-heading::after{height:1px;flex:1;background:var(--paper-line);content:""}
.chart-card{padding:var(--space-6);margin-bottom:var(--space-4)}
.chart-card>h3{margin:0 0 var(--space-4);line-height:1.3}
.chart-card>h3+.helper-text{margin-top:calc(var(--space-2) * -1)}
.upcoming-list li{min-height:44px;gap:var(--space-3)}
.performance-row{min-height:62px;padding:var(--space-3) 0}
.performance-meta{margin-top:var(--space-1)}
.retention-row{min-height:50px;margin:0;padding:var(--space-2) 0}
.retention-topic strong{line-height:1.3}
.retention-topic span{margin-top:var(--space-1);line-height:1.4}
.retention-toolbar,.subject-topic-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.retention-toolbar select,.subject-topic-filters select{min-height:var(--control-height);padding:7px 10px;border:1px solid var(--paper-line);background:var(--paper);color:var(--ink);font:var(--text-small) var(--font-data)}
.retention-pattern-note{margin-bottom:12px;padding:10px 12px;background:var(--info-bg);color:var(--ink-soft);font:12px/1.5 var(--font-body)}
.readiness-explanation{margin:14px 0 0;padding:10px 12px;border:1px solid var(--paper-line);background:var(--paper);font-size:12px}
.performance-forecast{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;padding:14px;border:1px solid var(--paper-line);background:var(--white)}
.performance-forecast>div{display:grid;gap:5px;min-width:0}.performance-forecast strong{color:var(--heading);font-family:var(--font-display);font-size:16px;font-weight:600}.performance-forecast small,.performance-forecast p{color:var(--ink-soft);font-family:var(--font-body);font-size:var(--text-small);line-height:1.5}.performance-forecast p{grid-column:1/-1;margin:0;padding-top:10px;border-top:1px solid var(--paper-line)}.performance-forecast .section-eyebrow{font-family:var(--font-data);font-size:10px;letter-spacing:.08em;color:var(--gold)}
@media(max-width:620px){.performance-forecast{grid-template-columns:1fr}.performance-forecast p{grid-column:auto}}
.readiness-explanation summary{color:var(--heading);cursor:pointer;font-family:var(--font-data);font-size:11px;font-weight:600}
.readiness-explanation p{margin:10px 0;max-width:80ch;color:var(--ink-soft)}
.readiness-explanation ul{margin:0;padding-left:20px}.readiness-explanation li{margin:6px 0;line-height:1.45}
.executive-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--paper-line);border:1px solid var(--paper-line)}
.executive-kpi{display:flex;min-width:0;min-height:112px;flex-direction:column;padding:14px;background:var(--white)}
.executive-kpi strong{color:var(--heading);font:600 24px var(--font-display)}
.executive-kpi span{margin-top:2px;color:var(--ink);font:600 11px var(--font-data);text-transform:uppercase}
.executive-kpi small{margin-top:auto;padding-top:10px;color:var(--ink-soft);font-size:11px;line-height:1.4}
.executive-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.executive-decision-grid section{padding:14px;border:1px solid var(--paper-line);background:var(--paper)}
.executive-decision-grid h4{margin:0 0 8px;color:var(--ink-soft);font:600 10px var(--font-data);letter-spacing:.05em;text-transform:uppercase}
.executive-decision-grid p{margin:5px 0;color:var(--ink)}.executive-decision-grid small{color:var(--ink-soft);line-height:1.45}
.overdue-group-title{width:100%;border:0;cursor:pointer;text-align:left;color:var(--ink)}
.overdue-group-title>span:first-child{display:flex;flex-direction:column;gap:3px}
.overdue-group-title small{font:11px var(--font-data);color:var(--ink-soft)}
.overdue-chevron{font:20px var(--font-data);transition:transform .15s}
.overdue-group-title[aria-expanded="true"] .overdue-chevron{transform:rotate(90deg)}
.overdue-group ul[hidden]{display:none}
.overdue-list-footer{display:block!important;border:0!important;padding:0!important}
.item-origin{display:block;margin-top:3px}
#upcomingFooter{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#upcomingFooter .list-summary-footer{flex:1;margin:0}
.upcoming-calendar-link{margin-left:auto}
.list-view-count{font-size:11px}
.log-table-wrap,.cal-table-wrap,.ledger-scroll{width:100%;max-width:100%;overflow-x:auto}

@media (min-width:1100px){
  .tabs{display:flex;flex-wrap:nowrap}
  .tab-btn{flex:0 1 auto}
}
.analytics-view-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
#questionAnalyticsSummary .stat-cell{min-height:84px;display:flex;flex-direction:column;justify-content:center}
#questionAnalyticsSummary .n{line-height:1.05}
#questionAnalyticsSummary .l{margin-top:6px;line-height:1.25}
.retention-summary,.analytics-note{font-family:var(--font-body);font-size:13px;line-height:1.5}
.performance-meta,.session-filter-summary{font-family:var(--font-data);font-size:11px;line-height:1.4}
.item-origin{color:var(--ink-soft);font-size:11px}
.overdue-summary{display:flex!important;align-items:flex-start!important;flex-direction:column;gap:3px;background:var(--slate-bg);padding:12px 14px!important}
.overdue-summary strong{font-family:var(--font-display);font-size:16px;color:var(--heading)}
.overdue-summary span,.overdue-group-title span{font:11px var(--font-data);color:var(--ink-soft)}
.overdue-group{display:block!important;padding:0!important;border:1px solid var(--paper-line)!important;margin:10px 0;background:var(--white)}
.overdue-group-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:var(--slate-bg)}
.overdue-group-title strong{font:600 13px var(--font-display);color:var(--heading)}
.overdue-group ul{list-style:none;margin:0;padding:0 12px}
.overdue-group ul li{gap:10px}
.list-summary-footer{display:flex!important;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0!important;color:var(--ink-soft);font:11px var(--font-data)}
.list-summary-footer>div{display:flex;gap:6px;flex-wrap:wrap}
.metric-row{margin-block:14px}

.calendar-view-switch{display:none;gap:6px;margin-bottom:12px}
.weekday-goal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.today-secondary-title{margin:22px 0 10px;padding-top:18px;border-top:1px solid var(--paper-line);font:600 var(--text-md) var(--font-display);color:var(--heading)}
@media (min-width:761px) and (max-width:1050px){
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
  .tab-btn{flex:0 0 auto;padding:10px 12px;font-size:11px;letter-spacing:.035em;white-space:nowrap}
  #kpiGrid{grid-template-columns:repeat(6,minmax(0,1fr))}
  #kpiGrid .kpi-cell{grid-column:span 2}
  #kpiGrid .kpi-cell:nth-last-child(-n+2){grid-column:span 3}
}

@media (max-width:900px) and (min-width:761px){
  .statement.statement--compact{grid-template-columns:1fr auto;gap:12px 20px}
  .statement--compact .exam-countdown{grid-column:1/-1;text-align:left;justify-content:flex-start}
}

@media (max-width:600px){
  #kpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #kpiGrid .kpi-cell:last-child:nth-child(odd){grid-column:1/-1}
}

/* Textos informativos nunca ficam abaixo de 11 px; rótulos gráficos curtos permanecem compactos. */
.mini-stat .l,.retention-topic span,.badge-desc,.error-profile-label,.error-profile-item span,.trend-summary,.archived-item-date,.review-date-mode,.meta-hoje-time-goal span{font-size:var(--text-xs)}
.trend-week span,.trend-week small,.trend-week-date,.trend-week-volume,.error-profile-item span,.error-profile-label{font-size:11px}

@media (max-width:760px){
  .wrap{padding:12px 12px 92px}
  .executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-decision-grid{grid-template-columns:1fr}
  .heatmap-detail{align-items:flex-start;flex-direction:column}.radar-analysis{grid-template-columns:1fr}.radar-analysis dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .study-recommendation,.diagnosis-summary article{flex-direction:column}.recommendation-actions{width:100%}.recommendation-actions .btn{flex:1}.review-rating-actions{grid-template-columns:1fr 1fr}.weekly-availability-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .exam-blueprint-main,.exam-subject-row{display:grid;grid-template-columns:1fr}.topic-strategy-fields,.topic-prerequisites>div{grid-template-columns:1fr}
  .topic-analytics-metrics{grid-template-columns:1fr}.topic-analytics-title small{margin-left:0;width:100%}
  .study-plan-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.study-plan-subjects>div,.study-plan-topic{flex-direction:column;gap:4px}.study-plan-actions .btn{width:100%}
  .alerta-item{align-items:flex-start;flex-wrap:wrap}.alerta-item .alert-dismiss{margin-left:0;width:100%}.error-analysis-toolbar select{width:100%}
  .upcoming-list li{align-items:flex-start;flex-wrap:wrap}.upcoming-list li>span:not(.upcoming-date){min-width:0;overflow-wrap:anywhere}.upcoming-list .quick-review-btn{flex:1 0 100%;margin-left:0}.priority-subject{overflow-wrap:anywhere}
  #subjectWeeklyTrend,#desempenhoDisciplinaBars{max-width:100%;overflow-x:auto}
  .statement,.statement.statement--compact{padding:18px 16px}
  .statement.statement--compact{display:block}
  .statement--compact .statement-body{position:static;margin-top:12px;justify-content:space-between}
  .statement--compact .balance-label,.statement--compact .balance-sub{display:none!important}
  .statement--compact .balance-block{display:flex}
  .statement--compact .exam-countdown{position:static;margin:10px 0 0;padding:10px 0 0;border-top:1px solid rgba(246,243,236,.18)}
  .global-search-row--compact{margin-top:8px}
  .tabs{position:sticky;top:0;z-index:90;margin-top:14px;background:var(--paper);box-shadow:0 2px 0 var(--heading);padding-top:4px;scroll-behavior:smooth}
  .tabs::after{display:none}
  .tab-btn{min-height:var(--touch-target);padding:8px 4px;font-size:10px;line-height:1.25;letter-spacing:.02em;overflow-wrap:anywhere}
  .btn,.icon-btn,.icon-btn-nav,.month-nav-btn,.theme-toggle-btn{min-height:var(--touch-target)}
  .icon-btn,.icon-btn-nav,.month-nav-btn{min-width:var(--touch-target)}
  .heatmap-toolbar .btn{flex:1 1 150px}
  .heatmap-grid{grid-template-rows:repeat(7,13px);grid-auto-flow:column;grid-auto-columns:13px;justify-content:start}
  .calendar-view-switch{display:flex}
  .calendar-month-toolbar{flex-wrap:wrap;gap:8px}
  .calendar-month-toolbar h3{order:-1;flex:1 0 100%;min-width:0}
  #panel-calendario[data-calendar-view="month"] .calendar-agenda-view{display:none}
  #panel-calendario[data-calendar-view="agenda"] .calendar-month-card{display:none}
  #panel-calendario:not([data-calendar-view]) .calendar-agenda-view{display:none}
  .calendar-view-btn{flex:1}

  .ledger-scroll{overflow:visible}
  table.ledger{display:block;min-width:0}
  table.ledger thead{display:none}
  table.ledger tbody{display:block}
  table.ledger tr:not(.notes-row){display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--white);border:1px solid var(--paper-line);padding:14px;margin:10px 0}
  table.ledger td{display:block!important;padding:0!important;border:0!important;min-width:0}
  table.ledger td:first-child{grid-column:1/-1}
  table.ledger td::before{display:block;margin-bottom:4px;font:var(--text-xs) var(--font-data);color:var(--ink-soft);text-transform:uppercase}
  table.ledger td:nth-child(1)::before{content:'Tópico'}
  table.ledger td:nth-child(2)::before{content:'Material'}
  table.ledger td:nth-child(3)::before{content:'Status'}
  table.ledger td:nth-child(4)::before{content:'Dificuldade'}
  table.ledger td:nth-child(5)::before{content:'Notas'}
  table.ledger td:nth-child(6){display:flex!important;justify-content:flex-end;align-items:flex-end}
  table.ledger input,table.ledger select,table.ledger button{min-height:var(--touch-target)}
  tr.notes-row{display:block!important;background:var(--paper);padding:12px;margin:-10px 0 10px;border:1px solid var(--paper-line);border-top:0}
  .subject-header{padding:12px;align-items:flex-start;gap:10px}
  .subject-header-left{min-width:0}
  .subject-name{overflow-wrap:anywhere}
  .metric-state{align-items:flex-start;flex-direction:column;gap:4px}
  .modal-box{max-height:calc(100dvh - 32px);overflow-y:auto;padding:22px 18px}
  .retention-toolbar select,.subject-topic-filters select{width:100%;min-height:var(--touch-target)}
  #upcomingFooter{align-items:stretch}
  #upcomingFooter .list-summary-footer,.upcoming-calendar-link{width:100%}
}

/* ===== LEGIBILIDADE E CONTROLES ===== */
.overview-nav a,
.mini-stat .l,
.heatmap-summary,
.session-day-toggle,
.list-view-count,
.inline-edit-form label,
.count-badge,
.history-status,
.mobile-card-date,
.mobile-card-metrics,
.session-filter-summary,
.session-details-row dt,
table.log thead th,
.error-toggle-btn,
.error-breakdown-head,
.error-breakdown-field,
.analytics-note,
.performance-meta,
.performance-value,
.trend-week span,
.trend-week small,
.trend-week-date,
.trend-week-volume,
.error-profile-item span,
.error-profile-label,
.month-header,
.day-number,
.cal-event,
.cal-event-more,
table.cal thead th,
footer{font-size:var(--text-xs)}

.row-secondary,
.kpi-cell .l,
.stat-cell .l,
.subject-progress-pill,
.item-origin,
.priority-reason,
.priority-badge,
.plano-item-head,
.plano-item-status,
.plano-depois-label,
.meta-hoje-label,
.meta-hoje-time-target,
.timer-target,
.tag-chip,
.stamp,
.archived-section-title,
.archived-item-date,
.dias-pill,
.trend-comparison,
.meta-formula,
.meta-progress-label,
.weekday-goal span,
.confidence-note,
.diagnosis-summary article span,
.diagnosis-empty,
.recommendation-rank,
.recommendation-explanation summary,
.recommendation-contributions>div,
.readiness-explanation summary,
.executive-kpi small,
.performance-forecast .section-eyebrow{font-size:var(--text-xs)}

.panel small,.panel dt,.panel dd,.panel th,
.executive-kpi>span,.confirmed-plan-note,.overdue-summary{font-size:var(--text-xs)}

.btn{min-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center}
.btn.small,.btn.danger{min-height:var(--control-height);padding:7px 11px;font-size:var(--text-xs)}
input,select,textarea{font-size:max(1em,var(--text-sm))}
.select-control,.panel select,.backup-block select{min-height:var(--control-height);padding:7px 32px 7px 10px;border:1px solid var(--paper-line);border-radius:2px;background-color:var(--paper);color:var(--ink);font-family:var(--font-data)}.select-control--compact{min-height:34px;font-size:var(--text-xs)}.select-control--wide{width:100%}

/* Textos longos devem se adaptar antes de serem truncados. */
.subject-name,.mobile-card-title,.mobile-card-subtitle,.performance-name,
.metric-state,.section-description,.helper-text,.metadata-text{overflow-wrap:anywhere}

@media (max-width:760px){
  button,a,input,select,textarea,[role="button"]{touch-action:manipulation}
  .btn,.tab-btn,.icon-btn,.icon-btn-nav,.month-nav-btn,.theme-toggle-btn,
  .mobile-more-menu button,.review-group-header,.session-day-toggle,
  .error-toggle-btn,.calendar-view-btn{min-height:var(--touch-target)}
  .btn.small,.btn.danger{min-height:var(--touch-target)}
  .panel input,.panel select,.panel textarea{min-height:var(--touch-target);max-width:100%}

  .bar-row{align-items:flex-start;gap:8px;flex-wrap:wrap}
  .bar-label{width:calc(100% - 50px);min-width:0;white-space:normal;text-overflow:clip;overflow:visible}
  .bar-label small{display:block;white-space:normal}
  .bar-track{order:3;flex-basis:calc(100% - 50px)}
  .bar-pct{margin-left:auto}

  .performance-row>*{min-width:0}
  .performance-name,.performance-meta{overflow-wrap:anywhere}
  .analytics-toolbar select,.cal-filters select{width:100%}
  .breakdown-line{grid-template-columns:minmax(0,1fr) 70px 70px 46px auto}

  .month-grid-wrap{overscroll-behavior-inline:contain;scrollbar-width:thin}
  .month-grid{min-width:560px}
  .cal-event{max-width:100%}

  .kpi-cell{min-width:0;padding:15px 14px}
  .kpi-cell .n{overflow-wrap:anywhere}
  .kpi-cell .l{line-height:1.35}

  table.log input,table.log select,table.cal input,table.cal select{min-width:0}

  .responsive-history-table,
  .responsive-history-table tbody,
  .mobile-history-row,
  .mobile-history-row td{display:block!important;width:100%}
  .mobile-history-row td{overflow:visible!important}
  .mobile-history-card,.mobile-card-head,.mobile-card-metrics{width:100%;min-width:0}
  .mobile-card-head>div{min-width:0}
  .mobile-card-metrics>*{max-width:100%;overflow-wrap:anywhere}
}

/* ===== HIERARQUIA DA VISÃO GERAL ===== */
.overview-nav{
  gap:6px;padding:8px;margin-bottom:24px;background:var(--white);
  border-color:var(--paper-line);scroll-snap-type:x proximity
}
.overview-nav a{
  min-height:36px;display:inline-flex;align-items:center;padding:8px 12px;
  border-bottom:2px solid transparent;scroll-snap-align:start
}
.overview-nav a:hover,.overview-nav a:focus-visible{
  border-bottom-color:var(--gold);background:var(--slate-bg)
}
.overview-section-heading{
  gap:10px;margin:42px 0 18px;color:var(--heading);
  font:600 var(--text-lg)/1.3 var(--font-display);letter-spacing:0;text-transform:none
}
.overview-section-heading::before{width:4px;height:22px;background:var(--gold);content:""}
.overview-section-heading::after{margin-left:4px}
.overview-section-heading:first-of-type{margin-top:28px}
.overview-section-heading+.overview-pair,
.overview-section-heading+.chart-card{margin-top:0}

/* ===== DENSIDADE DE DISCIPLINAS E QUESTÕES ===== */
.subject-header{gap:18px}
.subject-header-left{min-width:0;flex:1}
.subject-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.subject-header-actions .subject-progress-pill{margin-right:4px}
.subject-body{padding-top:14px}
.subject-topic-filters{padding-bottom:12px;border-bottom:1px solid var(--paper-line)}
.subject-block+.subject-block{margin-top:18px}

#panel-questoes>.log-table-wrap{margin-bottom:32px}
#panel-questoes>.section-head{margin-top:8px;padding-top:8px}
#panel-questoes>#topicPerformanceCard{margin-block:32px}
#panel-questoes .analytics-toolbar{padding:12px;background:var(--paper);border:1px solid var(--paper-line)}
#panel-questoes .analytics-note{flex:1;min-width:min(100%,280px)}
.analytics-view-tabs{padding-bottom:12px;border-bottom:1px solid var(--paper-line)}
.performance-row{column-gap:18px}

/* ===== ESTADOS E CONSISTÊNCIA DOS CONTROLES ===== */
.btn,.tab-btn,.icon-btn,.icon-btn-nav,.month-nav-btn,.theme-toggle-btn,
.mobile-more-menu button,.error-toggle-btn,input,select,textarea{
  transition:background-color .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease,transform .1s ease
}
.btn:active:not(:disabled),.tab-btn:active:not(:disabled),
.icon-btn:active:not(:disabled),.icon-btn-nav:active:not(:disabled),
.month-nav-btn:active:not(:disabled){transform:translateY(1px)}
button:disabled,input:disabled,select:disabled,textarea:disabled{
  cursor:not-allowed;opacity:.5
}
input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--ink-soft)}
input:focus-visible,select:focus-visible,textarea:focus-visible{
  border-color:var(--gold);outline:3px solid var(--gold);outline-offset:1px
}
.empty-state{max-width:100%;color:var(--ink-soft)}
.empty-state .btn{margin-top:4px}

@media (max-width:760px){
  .overview-nav{
    top:60px;z-index:80;margin:0 -2px 24px;padding:6px;
    box-shadow:0 1px 0 var(--paper-line)
  }
  .overview-nav a{min-height:40px;padding:8px 10px}
  .overview-section-heading{margin-top:34px;font-size:var(--text-lg)}

  .subject-header{flex-direction:column;align-items:stretch}
  .subject-header-actions{justify-content:flex-start;padding-top:10px;border-top:1px solid var(--paper-line)}
  .subject-header-actions .subject-progress-pill{flex:1 0 100%;width:max-content;max-width:100%;margin:0}
  .subject-header-actions .btn{flex:1}
  .subject-order-btns{flex-direction:row}

  #panel-questoes>.log-table-wrap{margin-bottom:26px}
  #panel-questoes>#topicPerformanceCard{margin-block:26px}
  #panel-questoes .analytics-toolbar{align-items:stretch}
  .analytics-view-tabs{display:grid;grid-template-columns:1fr 1fr}
  .performance-row{gap:8px;padding-block:14px}
}

@media (min-width:641px) and (max-width:900px){
  .backup-block{align-items:flex-start}
  .backup-actions{width:100%;min-width:0;flex:1 1 100%;flex-wrap:wrap}
  .backup-actions .btn{min-width:0;flex:1 1 190px;white-space:normal}
}

.recommendation-impact{margin-bottom:12px;padding:12px;border:1px solid var(--paper-line);border-left:4px solid var(--gold);background:var(--paper)}
.recommendation-impact.improved{border-left-color:var(--green)}.recommendation-impact.worsened{border-left-color:var(--red)}
.recommendation-impact header{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:10px}.recommendation-impact header span{font:600 10px var(--font-data);text-transform:uppercase;color:var(--ink-soft)}.recommendation-impact header strong{color:var(--heading)}.recommendation-impact header small{margin-left:auto;color:var(--ink-soft);font:10px var(--font-data)}
.recommendation-impact-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:1px;background:var(--paper-line)}.recommendation-impact-metrics>div{display:flex;flex-direction:column;gap:3px;padding:9px;background:var(--white)}.recommendation-impact-metrics span,.recommendation-impact-metrics small{font:10px var(--font-data);color:var(--ink-soft)}.recommendation-impact-metrics strong{color:var(--heading)}.recommendation-impact-metrics .positive{color:var(--green)}.recommendation-impact-metrics .negative{color:var(--red)}.recommendation-impact-reasons{display:block;margin-top:8px;color:var(--ink-soft);font:10px/1.4 var(--font-data)}

.error-diagnosis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:10px;background:var(--paper-line)}.error-diagnosis>div{display:flex;flex-direction:column;gap:5px;padding:11px;background:var(--paper)}.error-diagnosis span{font:600 9px var(--font-data);text-transform:uppercase;color:var(--ink-soft)}.error-diagnosis strong{font:12px/1.45 var(--font-body);color:var(--heading)}.error-diagnosis.insufficient{border-left:3px solid var(--gold)}
@media(max-width:600px){.error-diagnosis{grid-template-columns:1fr}}
@media(max-width:520px){.breakdown-line{grid-template-columns:1fr 1fr}.breakdown-line label:first-child{grid-column:1/-1}.breakdown-line>.icon-btn{justify-self:end}.backup-block>.backup-danger-zone{align-items:stretch;flex-direction:column}.backup-danger-zone .btn{width:100%}}
@media(max-width:600px){.period-comparison>div{grid-template-columns:1fr 1fr}.period-comparison .comparison-head{display:none}.period-comparison>div>span{grid-column:1/-1}.data-row{grid-template-columns:1fr}.data-score{grid-row:auto}.exam-blueprint-main{grid-template-columns:1fr}}
.exam-import-box{width:min(920px,calc(100vw - 32px));max-width:920px;max-height:88vh;overflow:auto}.exam-preset-list,.exam-subject-list{display:grid;gap:10px;margin:16px 0}.exam-choice,.exam-subject-choice{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--paper-line);border-radius:4px}.exam-choice small,.exam-subject-choice small{display:block;margin-top:3px;color:var(--ink-soft);font:10px var(--font-data)}.exam-subject-choice{display:block}.exam-subject-choice>label{display:flex;gap:8px;font-weight:600}.exam-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:12px 0 0 24px}.exam-topic-list label{display:flex;gap:7px;align-items:flex-start}.exam-import-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.exam-import-summary div{padding:12px;background:var(--paper-soft);border:1px solid var(--paper-line)}.exam-import-tools{position:sticky;top:-1px;z-index:2;display:grid;gap:9px;padding:10px 0;background:var(--white)}.exam-import-tools input{width:100%}.exam-import-tools>div,.exam-scope-filter{display:flex;gap:7px;flex-wrap:wrap}.exam-selection-count{color:var(--ink-soft);font:10px var(--font-data)}.exam-scope-filter{margin:0 0 14px}.exam-scope-filter .active{background:var(--navy);color:var(--gold-bright)}.exam-tag{display:inline-flex;margin-right:4px;padding:2px 5px;border:1px solid currentColor;font:600 8px var(--font-data);letter-spacing:.05em}.exam-tag--bb{color:var(--navy)}.exam-tag--caixa{color:var(--gold-deep)}@media(max-width:600px){.exam-topic-list,.exam-import-summary{grid-template-columns:1fr}.exam-import-tools{position:static}}
.active-exams{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:16px 0;padding:12px;border:1px solid var(--paper-line)}.active-exams legend{padding:0 6px;font-weight:600}.active-exams label{font:11px var(--font-data)}.active-exams small{flex-basis:100%;color:var(--ink-soft)}
.forecast-scenarios,.calibration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.forecast-scenarios span,.calibration-grid article{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--paper-line);background:var(--paper-soft)}.calibration-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media(max-width:600px){.forecast-scenarios{grid-template-columns:1fr}}
.mastery-matrix-head,.mastery-matrix summary,.mastery-topic{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:8px;padding:9px;border-bottom:1px solid var(--paper-line)}.mastery-matrix-head{font-weight:600}.mastery-topic{padding-left:22px;font-size:12px}.guided-strategy{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px;margin:10px 0;border:1px solid var(--paper-line);background:var(--paper-soft)}.guided-strategy[hidden]{display:none!important}@media(max-width:600px){.mastery-matrix{overflow:auto}.mastery-matrix-head,.mastery-matrix summary,.mastery-topic{min-width:620px}}


/* ===== RODADA DE CONSISTÊNCIA VISUAL ===== */
.balance-figure,.compact-header b{font-variant-numeric:tabular-nums}.balance-sub{line-height:1.45}.mini-stat .n{white-space:nowrap}.compact-meta>span{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap}
.weekly-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:4px 0 18px;border-block:1px solid var(--paper-line)}.weekly-kpis>div{display:flex;flex-direction:column;gap:4px;padding:14px 12px;border-right:1px solid var(--paper-line)}.weekly-kpis>div:last-child{border-right:0}.weekly-kpis strong{font:600 24px var(--font-display);color:var(--heading)}.weekly-kpis span{font:10px var(--font-data);text-transform:uppercase;color:var(--ink-soft)}
.weekly-assessment{gap:0;padding:14px 0 0}.weekly-assessment>small{font:9px var(--font-data);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.weekly-assessment>strong{margin:3px 0 10px;font:600 18px var(--font-display)}.weekly-assessment p{display:grid;grid-template-columns:minmax(100px,130px) minmax(0,1fr);gap:12px;margin:0;padding:9px 0;border-top:1px solid var(--paper-line);font-size:12px;line-height:1.45;color:var(--ink-soft)}.weekly-assessment p b{color:var(--heading)}.weekly-assessment .weekly-risk b{color:var(--red)}.weekly-assessment .weekly-action{color:var(--ink)}
.period-comparison>div>*{min-width:0;overflow-wrap:anywhere}.data-row>*{min-width:0}.data-row span,.data-row small{line-height:1.45}.data-score{white-space:nowrap}
.error-profile-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.error-profile-item{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:5px;min-width:0;overflow:hidden}.error-profile-label,.error-profile-delta{display:block;min-width:0;overflow-wrap:anywhere;word-break:normal}.error-profile-value{line-height:1}.error-profile-delta{border-top:1px solid var(--paper-line);padding-top:6px}
.study-sessions-table-wrap{width:100%;margin-bottom:0}.study-sessions-table{min-width:820px!important}.study-sessions-table th:nth-child(1){width:14%}.study-sessions-table th:nth-child(2){width:10%}.study-sessions-table th:nth-child(3){width:38%}.study-sessions-table th:nth-child(4){width:20%}.study-sessions-table th:nth-child(5){width:18%}.study-sessions-table td:nth-child(3){overflow-wrap:break-word;word-break:normal}.study-sessions-table .row-primary,.study-sessions-table .row-secondary{white-space:normal}
.timer-target[hidden]{display:none!important}.timer-context .select-control{flex:1 1 180px;min-width:0}.session-modal-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.exam-subject-row{grid-template-columns:minmax(220px,1.6fr) minmax(115px,.75fr) repeat(3,minmax(135px,1fr));align-items:start}.exam-subject-row>strong{padding-top:25px;overflow-wrap:anywhere}.field-inheritance{display:block;min-height:15px;color:var(--gold-deep);font:10px var(--font-data);text-transform:none}.badges-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}
@media(max-width:760px){.weekly-assessment p{grid-template-columns:1fr;gap:3px}.exam-subject-row{grid-template-columns:1fr}.exam-subject-row>strong{padding-top:0}.study-sessions-table{min-width:0!important}.weekly-kpis strong{font-size:20px}}
@media(max-width:480px){.weekly-kpis{grid-template-columns:1fr}.weekly-kpis>div{border-right:0;border-bottom:1px solid var(--paper-line)}.weekly-kpis>div:last-child{border-bottom:0}.compact-meta{flex-wrap:wrap}.data-score{white-space:normal}}
.trend-week.insufficient{opacity:1}.trend-week.insufficient span,.trend-week.insufficient small{color:var(--ink)}

/* ===== COMPOSIÇÃO VISUAL VALIDADA POR SNAPSHOT ===== */
@media(min-width:901px){
  .statement-body{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(460px,1.5fr);align-items:end;gap:44px}
  .balance-block{min-width:0;padding-right:36px;border-right:1px solid rgba(246,243,236,.18)}
  .mini-stats{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:24px 28px;width:100%}
  .mini-stat{min-width:0;padding-top:8px;border-top:1px solid rgba(246,243,236,.14)}
  .mini-stat .n{font-size:24px;line-height:1.15}
  .mini-stat .l{display:block;margin-top:5px;line-height:1.35}
}

/* ===== ESTADOS ANALÍTICOS E GUIA DE USO ===== */
.intelligence-column{align-self:start}
.analytics-empty{display:flex;align-items:flex-start;gap:12px;padding:12px 0;color:var(--ink-soft)}
.analytics-empty>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid var(--paper-line);color:var(--gold-deep);font:600 15px var(--font-data)}
.analytics-empty strong{display:block;color:var(--heading);font-size:13px}.analytics-empty p{margin:3px 0 0;max-width:62ch;font-size:12px;line-height:1.5}
.blocked-topics-note{margin:12px 0;padding:10px 12px;border-left:2px solid var(--gold);background:var(--paper-soft);color:var(--ink-soft)}
.blocked-topics-note summary{cursor:pointer;color:var(--heading);font-weight:600}.blocked-topics-note p{margin:9px 0 4px;line-height:1.55}.blocked-topics-note small{font-family:var(--font-data)}
.instructions-hero{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;padding:30px;border-bottom:2px solid var(--navy);background:var(--paper)}
.instructions-hero h2{margin:5px 0 8px;font-size:30px}.instructions-hero p{margin:0;max-width:650px;color:var(--ink-soft)}
.instructions-hero nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.instructions-hero a{padding:7px 9px;border:1px solid var(--paper-line);color:var(--heading);font:10px var(--font-data);text-decoration:none}
.instructions-section{padding:28px 0;border-bottom:1px solid var(--paper-line)}.instructions-section>h3{margin:0 0 16px}
.instruction-grid,.guide-glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--paper-line)}
.instruction-grid article,.guide-glossary article{display:flex;gap:14px;padding:18px;background:var(--white)}.instruction-grid article>b{display:grid;place-items:center;flex:0 0 30px;height:30px;background:var(--navy);color:var(--gold-bright);font:600 13px var(--font-data)}
.instruction-grid h4,.guide-glossary h4{margin:0 0 6px}.instruction-grid p,.guide-glossary p,.guide-flow p,.instruction-note p{margin:0;color:var(--ink-soft);line-height:1.55}
.guide-glossary article{display:block}.guide-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:10px}.guide-flow article{padding:16px;border-top:2px solid var(--gold);background:var(--paper)}.guide-flow>span{align-self:center;color:var(--gold-deep)}
.instruction-note{padding:18px;border-left:3px solid var(--green);background:var(--green-bg)}.instruction-note strong{display:block;margin-bottom:5px}
.instructions-section kbd{display:inline-block;min-width:22px;padding:2px 5px;border:1px solid var(--paper-line);border-bottom-width:2px;border-radius:3px;background:var(--paper-soft);color:var(--heading);font:600 10px var(--font-data);text-align:center}
.guide-faq{display:grid;gap:8px}.guide-faq details{border:1px solid var(--paper-line);background:var(--white)}.guide-faq summary{cursor:pointer;padding:14px 16px;color:var(--heading);font-weight:600}.guide-faq details[open] summary{border-bottom:1px solid var(--paper-line);background:var(--paper-soft)}.guide-faq p{margin:0;padding:14px 16px;color:var(--ink-soft);line-height:1.55}
.back-to-top{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:120;display:inline-flex;align-items:center;gap:6px;min-width:48px;min-height:48px;padding:10px 13px;border:1px solid var(--gold-bright);border-radius:24px;background:var(--navy);color:var(--on-navy);box-shadow:0 4px 14px var(--shadow-color);font:600 10px var(--font-data);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.back-to-top:hover{background:var(--blue)}.back-to-top:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.back-to-top[hidden]{display:inline-flex}
@media(max-width:600px){.back-to-top{right:12px;bottom:12px}.back-to-top span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}
@media(max-width:760px){.breakdown-line{grid-template-columns:1fr 1fr}.breakdown-subject,.breakdown-result{grid-column:1/-1}.breakdown-line>.icon-btn{justify-self:end}.instructions-hero{align-items:flex-start;flex-direction:column;padding:22px 16px}.instructions-hero nav{justify-content:flex-start}.instruction-grid,.guide-glossary{grid-template-columns:1fr}.guide-flow{grid-template-columns:1fr}.guide-flow>span{display:none}}
.intelligence-column{display:block}.intelligence-column>.analytics-card{padding:22px 0;margin:0;border:0;border-top:1px solid var(--paper-line);background:transparent}.intelligence-column>.analytics-card:first-of-type{margin-top:22px}.intelligence-column>.analytics-card>h3{margin:0 0 16px;font:600 16px var(--font-display)}
.weekly-kpis{gap:0;margin-bottom:24px}.weekly-kpis>div{padding:16px}.weekly-assessment{margin-top:0;padding-top:20px}.period-comparison{margin-top:20px;padding-top:20px}.period-comparison>strong{margin-bottom:8px;font:600 15px var(--font-display)}
@media(max-width:760px){.statement-body{gap:24px}.mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:18px 14px}.mini-stat{padding-top:8px;border-top:1px solid rgba(246,243,236,.14)}.intelligence-column>.analytics-card{padding-block:18px}}

/* ===== PILHA ÚNICA DE NAVEGAÇÃO STICKY ===== */
.global-search-row{position:relative;z-index:1}
.sticky-shell{position:sticky;top:0;z-index:90;margin-top:var(--space-3);background:var(--paper);box-shadow:0 2px 0 var(--heading)}
.sticky-shell .compact-header{box-shadow:none}
.primary-nav-shell{position:relative;display:flex;align-items:stretch;min-width:0;background:var(--paper)}
.primary-nav-shell .tabs{position:static;z-index:auto;flex:1 1 auto;min-width:0;margin:0;padding-top:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;box-shadow:none}
.primary-nav-shell .tab-btn{flex:0 0 auto;white-space:nowrap}
.primary-nav-shell .mobile-more-menu{top:100%;right:0}
.overview-nav{position:sticky;top:var(--sticky-stack-height,52px);z-index:80;flex-wrap:nowrap;overflow-x:auto}
[id^="overview-"]{scroll-margin-top:calc(var(--sticky-stack-height,52px) + var(--overview-nav-height,54px) + 16px)}

@media(max-width:760px){
  .sticky-shell{top:0}
  .compact-header{min-height:40px;padding:7px 10px;gap:8px;flex-wrap:nowrap}
  .compact-header .compact-brand{font-size:15px}
  .compact-header .compact-meta{width:auto;min-width:0;margin-left:auto;gap:10px;flex-wrap:nowrap;font-size:9px}
  .compact-header .compact-plan{margin-left:0}
  #compactExamDate{display:none}
  .primary-nav-shell .tabs{display:flex;grid-template-columns:none;overflow-x:auto;scrollbar-width:none}
  .primary-nav-shell .tabs::-webkit-scrollbar{display:none}
  .primary-nav-shell .tab-btn{min-height:42px;padding:8px 10px;font-size:9px;white-space:nowrap;overflow-wrap:normal}
  .primary-nav-shell .more-tab-btn{display:block;flex:0 0 auto;min-width:48px;border-left:1px solid var(--paper-line);border-bottom:2px solid var(--heading);border-radius:0}
  .primary-nav-shell .mobile-more-menu{right:0}
  .overview-nav{top:var(--sticky-stack-height,46px);z-index:80;margin-bottom:24px}
}
/* Jornada inicial guiada */
.guided-onboarding{border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface))}
.guided-onboarding-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0;color:var(--muted);font-size:.86rem}.guided-onboarding-steps span{display:flex;align-items:center;gap:8px}.guided-onboarding-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:.75rem}.guided-onboarding-steps .is-complete{color:var(--ink)}.guided-onboarding-steps .is-complete b{background:var(--success)}.guided-onboarding-steps .is-next{font-weight:600;color:var(--ink)}
.guided-onboarding-panel{display:grid;gap:12px;margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.guided-onboarding-panel h4,.guided-onboarding-panel p{margin:0}.guided-onboarding-panel>label,.guided-levels label{display:grid;gap:6px;font-weight:600}.guided-onboarding-panel input,.guided-onboarding-panel select,.guided-levels select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.guided-availability{display:grid;grid-template-columns:repeat(7,minmax(76px,1fr));gap:8px}.guided-availability label{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center}.guided-availability label span{grid-column:1/-1;font-size:.8rem;color:var(--muted)}.guided-availability input{min-width:0}.guided-capacity{display:flex;gap:8px;align-items:baseline}.guided-capacity strong{font-size:1.35rem}.guided-capacity span{color:var(--muted)}.guided-levels{display:grid;gap:10px}.guided-levels label{grid-template-columns:minmax(140px,1fr) minmax(180px,1fr);align-items:center}
.weekly-snapshot-history{margin-top:14px}.weekly-snapshot-history summary{cursor:pointer;font-weight:600}.weekly-snapshot-history article{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid var(--line)}.weekly-snapshot-history article span,.weekly-snapshot-history article small{color:var(--muted)}
.weekly-close-actions{display:grid;gap:8px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:8px}.weekly-close-actions h4{margin:0}.weekly-priority-choice{display:flex;gap:8px;align-items:center}.weekly-action-preview{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-top:8px;border-top:1px solid var(--line)}
@media(max-width:700px){.guided-onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-availability{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-levels label{grid-template-columns:1fr}}
 .replan-group-list{display:grid;gap:8px;margin:14px 0}.replan-group{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.replan-group span{color:var(--muted);text-align:right}.replan-group.is-warning{border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}
.replan-detail{display:grid;gap:8px;margin:16px 0}.replan-detail h4{margin:0}.replan-detail-row{display:flex;justify-content:space-between;gap:16px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.replan-detail-row>div,.replan-detail-row>span{display:grid;gap:3px}.replan-detail-row>span{text-align:right;white-space:nowrap}.replan-detail-row small,.replan-capacity-row span{color:var(--muted)}.replan-detail-row.is-warning{border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.replan-capacity{margin:14px 0}.replan-capacity summary{cursor:pointer;font-weight:600}.replan-capacity-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
 .session-extra-details{margin-top:8px}.session-extra-details summary{cursor:pointer;color:var(--muted);font-size:.82rem;margin-bottom:8px}
