/* FOURMI THINK — Aluno: Agenda no padrão premium do Professor (student-agenda-premium.js). Petróleo e dourado do perfil Aluno. */
/* O que a nova agenda substitui (continua no DOM; só some da tela). */
#student-agenda-screen.sap-on>.page-heading{display:none!important}
#student-agenda-screen.sap-on.sap-v-day>#student-agenda-root,
#student-agenda-screen.sap-on.sap-v-week:not(.sap-full)>#student-agenda-root{display:none!important}
#student-agenda-screen.sap-on>#student-agenda-root>.sg-views,
#student-agenda-screen.sap-on:not(.sap-v-range)>#student-agenda-root>.sg-settings,
#student-agenda-screen.sap-on:not(.sap-v-range)>#student-agenda-root>.student-filter-row,
#student-agenda-screen.sap-on:not(.sap-v-range)>#student-agenda-root>.student-agenda-tools,
#student-agenda-screen.sap-on:not(.sap-v-range)>#student-agenda-root>.sg-date-nav{display:none!important}

.sap-head,.sap-bar,.sap-main,.sap-sheet{--sap-deep:#0b3036;--sap-teal:#134a50;--sap-ink:#10292c;--sap-gold:#d8b15e;--sap-gold2:#efd38f;--sap-cream:#f7f5ef;--sap-paper:#fff;--sap-muted:#5d6f6c;--sap-line:#e2e7e4;--sap-red:#c4573e;--sap-green:#1e7a55;color:var(--sap-ink)}
:where(.sap-head,.sap-bar,.sap-main,.sap-sheet) button{font:inherit;color:inherit;cursor:pointer}
.sap-head button:focus-visible,.sap-bar button:focus-visible,.sap-main button:focus-visible,.sap-sheet button:focus-visible,.sap-sheet select:focus-visible,.sap-sheet input:focus-visible+i{outline:3px solid var(--sap-gold);outline-offset:2px}
.sap-head svg,.sap-bar svg,.sap-main svg,.sap-sheet svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Faixa petróleo ---------- */
.sap-head{position:relative;display:grid;gap:12px;margin:4px 0 14px;padding:16px 14px 14px;overflow:hidden;border-radius:24px;background:linear-gradient(160deg,var(--sap-deep),var(--sap-teal));color:#fff;box-shadow:0 14px 30px rgba(11,48,54,.2)}
.sap-head::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 70% at 95% 0,rgba(216,177,94,.24),transparent 60%);pointer-events:none}
.sap-head>*{position:relative;min-width:0}
.sap-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sap-top h1{margin:0;color:#fff;font-size:clamp(1.35rem,6.6vw,1.8rem);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.sap-top-actions{display:flex;gap:7px}
.sap-round{display:grid;place-items:center;flex:none;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff!important}
.sap-round svg{width:20px;height:20px}
.sap-round.is-gold{background:var(--sap-gold);color:var(--sap-deep)!important;box-shadow:0 6px 16px rgba(216,177,94,.35)}
.sap-round.is-gold svg{stroke-width:2.6}
.sap-round.is-small{width:38px;height:38px}
.sap-round.is-small svg{width:18px;height:18px}
.sap-round.is-light{background:#e8eeec;color:var(--sap-ink)!important;font-size:1.4rem;line-height:1}
.sap-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:14px;background:rgba(255,255,255,.1)}
.sap-seg button{min-height:40px;border:0;border-radius:10px;background:transparent;color:rgba(255,255,255,.75)!important;font-size:.88rem;font-weight:800}
.sap-seg button.is-on{background:#fff;color:var(--sap-deep)!important;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.sap-nav{display:flex;align-items:center;gap:8px}
.sap-label{display:grid;flex:1;justify-items:center;gap:4px;min-width:0}
.sap-label strong{max-width:100%;overflow:hidden;font-size:1rem;font-weight:800;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.sap-today{min-height:30px;padding:0 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:transparent;color:#fff!important;font-size:.78rem;font-weight:800}
.sap-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.sap-strip button{display:grid;justify-items:center;gap:2px;min-height:62px;padding:7px 0 6px;border:0;border-radius:14px;background:rgba(255,255,255,.07);color:#fff!important}
.sap-strip small{color:rgba(255,255,255,.65);font-size:.64rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.sap-strip b{font-size:1.08rem;font-weight:800;font-variant-numeric:tabular-nums}
.sap-strip button.is-today b{color:var(--sap-gold2)}
.sap-strip i{display:flex;gap:2px;height:5px}
.sap-strip i span{width:5px;height:5px;border-radius:50%;background:var(--sap-gold2)}
.sap-strip button.is-on{background:var(--sap-gold);color:var(--sap-deep)!important}
.sap-strip button.is-on small{color:rgba(11,48,54,.7)}
.sap-strip button.is-on.is-today b{color:var(--sap-deep)}
.sap-strip button.is-on i span{background:var(--sap-deep)}

/* ---------- Prova, resumo, filtros e alternância da semana ---------- */
.sap-bar{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:12px}
.sap-bar:empty{display:none}
.sap-exam{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;padding:10px 12px;border:1px solid var(--sap-line);border-left:5px solid var(--c);border-radius:16px;background:var(--sap-paper);text-align:left;box-shadow:0 4px 14px rgba(11,48,54,.05)}
.sap-count{display:grid;justify-items:center;flex:none;min-width:48px;padding:6px 6px;border-radius:12px;background:color-mix(in srgb,var(--c) 13%,#fff);color:color-mix(in srgb,var(--c) 85%,#000);line-height:1}
.sap-count b{font-size:1.15rem;font-weight:850}
.sap-count small{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.sap-exam-body{display:grid;flex:1;gap:2px;min-width:0}
.sap-exam-body strong{overflow:hidden;font-size:.95rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.sap-exam-body small{overflow:hidden;color:var(--sap-muted);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}
.sap-exam>svg{flex:none;width:18px;height:18px;color:var(--sap-muted)}
.sap-sum{display:flex;flex-wrap:wrap;gap:6px}
.sap-sum span{padding:5px 11px;border:1px solid var(--sap-line);border-radius:999px;background:var(--sap-paper);color:var(--sap-muted);font-size:.76rem;font-weight:750}
.sap-chips{display:flex;align-items:center;gap:7px;margin:0 -16px;padding:2px 16px 4px;overflow-x:auto;scrollbar-width:none}
.sap-chips::-webkit-scrollbar{display:none}
.sap-chips button{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:40px;padding:0 14px;border:1px solid var(--sap-line);border-radius:999px;background:var(--sap-paper);color:var(--sap-ink)!important;font-size:.84rem;font-weight:750;white-space:nowrap}
.sap-chips button i{width:8px;height:8px;border-radius:50%}
.sap-chips button.is-on{border-color:var(--sap-deep);background:var(--sap-deep);color:#fff!important}
.sap-chips button.is-on i{box-shadow:0 0 0 2px #fff}
.sap-sep{flex:none;width:1px;height:24px;background:var(--sap-line)}
.sap-style{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.sap-style.is-compact{justify-content:flex-end}
.sap-style p{flex:1 1 180px;margin:0;color:var(--sap-muted);font-size:.8rem;line-height:1.35}
.sap-style button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid var(--sap-deep);border-radius:999px;background:var(--sap-paper);color:var(--sap-deep)!important;font-size:.82rem;font-weight:800}
.sap-style svg{width:17px;height:17px}

/* ---------- Dia: linha do tempo ---------- */
.sap-main{margin-bottom:18px}
.sap-main:empty{display:none}
.sap-timeline{display:grid;gap:10px}
.sap-row{display:grid;grid-template-columns:50px minmax(0,1fr);gap:8px;align-items:stretch}
.sap-time{display:grid;align-content:start;gap:1px;padding-top:12px;font-variant-numeric:tabular-nums}
.sap-time b{font-size:.9rem;font-weight:850}
.sap-time small{color:var(--sap-muted);font-size:.74rem;font-weight:650}
.sap-time .sap-allday{font-size:.68rem;line-height:1.2;color:var(--sap-muted)}
.sap-card{position:relative;display:flex;align-items:center;gap:6px;min-width:0;padding-right:10px;overflow:hidden;border:1px solid var(--sap-line);border-left:5px solid var(--c);border-radius:16px;background:var(--sap-paper);box-shadow:0 4px 14px rgba(11,48,54,.05)}
.sap-open{display:flex;flex:1;align-items:flex-start;gap:11px;min-width:0;min-height:70px;padding:12px 0 12px 12px;border:0;background:none;text-align:left}
.sap-av{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--c) 15%,#fff);color:color-mix(in srgb,var(--c) 82%,#000);font-size:.74rem;font-weight:850;letter-spacing:.02em}
.sap-body{display:grid;gap:3px;min-width:0}
.sap-body strong{overflow:hidden;font-size:.98rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.sap-body small{overflow:hidden;color:var(--sap-muted);font-size:.79rem;text-overflow:ellipsis;white-space:nowrap}
.sap-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}
.sap-badge{padding:3px 9px;border-radius:999px;background:#eef2f0;color:var(--sap-teal);font-size:.71rem;font-weight:800}
.sap-badge.is-completed{background:#e3f1e8;color:var(--sap-green)}
.sap-badge.is-live,.sap-badge.is-inProgress{background:#fbf0d2;color:#8a6410}
.sap-badge.is-late{background:#fbe7e1;color:var(--sap-red)}
.sap-badge.is-cancelled{background:#f8e5e2;color:var(--sap-red)}
.sap-check{display:grid;place-items:center;flex:none;width:42px;height:42px;padding:0;border:2px solid var(--sap-line);border-radius:50%;background:#fff;color:var(--sap-muted)!important}
.sap-check svg{width:19px;height:19px;stroke-width:2.6}
.sap-check.is-done{border-color:#2f9e78;background:#2f9e78;color:#fff!important}
.sap-card.is-cancelled{opacity:.72}
.sap-card.is-cancelled .sap-body strong{text-decoration:line-through;text-decoration-thickness:1.5px}
.sap-card.is-live{box-shadow:0 0 0 2px rgba(216,177,94,.5),0 4px 14px rgba(11,48,54,.06)}
.sap-free{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:52px;padding:8px 12px 8px 14px;border:1.5px dashed #b9cbc5;border-radius:16px;background:transparent;text-align:left}
.sap-free span{color:var(--sap-muted);font-size:.86rem;font-weight:750}
.sap-free em{display:inline-flex;align-items:center;gap:5px;flex:none;color:var(--sap-teal);font-size:.82rem;font-style:normal;font-weight:850}
.sap-free svg{width:16px;height:16px;stroke-width:2.4}
.sap-now{display:grid;grid-template-columns:50px minmax(0,1fr);gap:8px;align-items:center;margin:-2px 0}
.sap-now span{color:var(--sap-green);font-size:.7rem;font-weight:850;text-transform:lowercase;white-space:nowrap}
.sap-now i{position:relative;height:2px;border-radius:2px;background:#2f9e78}
.sap-now i::before{content:"";position:absolute;top:-4px;left:-5px;width:10px;height:10px;border-radius:50%;background:#2f9e78}
.sap-empty{display:grid;justify-items:center;gap:10px;padding:26px 16px;border:1px dashed var(--sap-line);border-radius:18px;background:var(--sap-paper);text-align:center}
.sap-empty p{margin:0;color:var(--sap-muted)}
.sap-empty button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:var(--sap-deep);color:#fff!important;font-weight:800}
.sap-empty svg{width:17px;height:17px}

/* ---------- Semana compacta ---------- */
.sap-box{padding:12px 10px 10px;border:1px solid var(--sap-line);border-radius:20px;background:var(--sap-paper);box-shadow:0 6px 18px rgba(11,48,54,.05)}
.sap-wk{display:grid;grid-template-columns:24px repeat(var(--n),minmax(0,1fr));column-gap:3px}
.sap-wk-corner{display:block}
.sap-wk-head{display:grid;justify-items:center;gap:1px;min-height:44px;margin-bottom:6px;padding:2px 0;border:0;border-radius:12px;background:none}
.sap-wk-head small{color:var(--sap-muted);font-size:.64rem;font-weight:800}
.sap-wk-head b{font-size:.95rem;font-weight:850;font-variant-numeric:tabular-nums}
.sap-wk-head.is-today b{padding:0 7px;border-radius:999px;background:var(--sap-gold);color:var(--sap-deep)}
.sap-wk-hours{position:relative}
.sap-wk-hours span{position:absolute;left:0;margin-top:-1px;color:var(--sap-muted);font-size:.62rem;font-weight:700;font-variant-numeric:tabular-nums}
.sap-wk-col{position:relative;border-radius:6px;background:repeating-linear-gradient(180deg,transparent 0 33px,#e8eeec 33px 34px);cursor:pointer}
.sap-wk-col.is-today{background-color:#f1f7f5}
.sap-wk-item{position:absolute;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:4px 3px 2px 6px;overflow:hidden;border:0;border-radius:7px;background:color-mix(in srgb,var(--c) 20%,#fff);color:color-mix(in srgb,var(--c) 80%,#0b1b1d)!important;font-size:.6rem;font-weight:850;line-height:1.2;text-align:left;white-space:nowrap;box-shadow:inset 3px 0 0 var(--c)}
.sap-wk-item.is-completed{opacity:.7}
.sap-wk-item.is-cancelled{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--c) 20%,#fff) 0 5px,#fff 5px 10px);text-decoration:line-through}
.sap-wk-now{position:absolute;left:-2px;right:-2px;height:2px;border-radius:2px;background:#2f9e78;pointer-events:none}
.sap-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;padding:0 4px;color:var(--sap-muted);font-size:.74rem}
.sap-legend span{display:inline-flex;align-items:center;gap:5px}
.sap-legend i{width:9px;height:9px;border-radius:3px}
.sap-legend i.is-now{background:#2f9e78}

/* ---------- Ajustes ---------- */
.sap-sheet{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 40px);margin:auto auto 12px;padding:16px;border:0;border-radius:24px;background:var(--sap-cream);box-shadow:0 20px 50px rgba(11,48,54,.3)}
.sap-sheet::backdrop{background:rgba(6,24,27,.5)}
.sap-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.sap-sheet-head h2{margin:0;font-size:1.3rem;letter-spacing:-.01em}
.sap-set{display:grid;padding:2px 14px;border:1px solid var(--sap-line);border-radius:18px;background:var(--sap-paper)}
.sap-set-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:56px;padding:8px 0;border:0;border-bottom:1px solid #edf1ef;background:none;font-size:.95rem;font-weight:750;text-align:left;cursor:pointer}
.sap-set>.sap-set-row:last-child{border-bottom:0}
.sap-set-row>span:first-child{flex:1;min-width:0}
.sap-set-row>svg{flex:none;width:18px;height:18px;color:var(--sap-muted)}
.sap-set-row>b{color:var(--sap-muted);font-size:.86rem}
.sap-hours{display:inline-flex;align-items:center;gap:6px}
.sap-hours em{color:var(--sap-muted);font-size:.82rem;font-style:normal}
.sap-hours select{min-height:40px;padding:0 6px;border:1px solid var(--sap-line);border-radius:10px;background:#fff;color:var(--sap-ink);font:inherit;font-size:.88rem;font-variant-numeric:tabular-nums}
.sap-set-row input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none}
.sap-set-row input+i{position:relative;flex:none;width:50px;height:30px;border-radius:999px;background:#d3dcd9;transition:background .18s}
.sap-set-row input+i::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .18s}
.sap-set-row input:checked+i{background:var(--sap-deep)}
.sap-set-row input:checked+i::after{transform:translateX(20px)}
@media (max-width:350px){.sap-row,.sap-now{grid-template-columns:44px minmax(0,1fr)}.sap-open{gap:9px}.sap-av{width:34px;height:34px;font-size:.66rem}.sap-top-actions{gap:5px}.sap-round{width:38px;height:38px}.sap-hours select{padding:0 2px}}
@media (prefers-reduced-motion:reduce){.sap-set-row input+i,.sap-set-row input+i::after{transition:none}}
