/* SINUS · Identidade aprovada: esfera de vidro verde com ECG branco. Painel acadêmico ORIGINAL preservado. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{
--bg:#f8fcf9;--bg2:#fcfefd;--card:rgba(255,255,255,.82);--card2:rgba(247,252,249,.9);
--text:#133b2a;--muted:#688474;--line:rgba(20,107,66,.13);
--green:#117c56;--green2:#0fa36a;--green3:#e0f5e8;--violet:#2b7a5d;--violet2:#e7f5eb;
--grad-main:linear-gradient(145deg,#0a5f41,#129968);--grad-soft:linear-gradient(125deg,#eefbf3,#dff3e8);
--shadow:0 16px 45px rgba(12,76,45,.085);--shadow-lg:0 25px 85px rgba(13,77,45,.12);
--radius:24px;--radius-sm:15px;
}
body,button,input,select,textarea,.sidebar,.main,.sxOnb{font-family:'Manrope','DM Sans',-apple-system,BlinkMacSystemFont,sans-serif!important}
body{background:radial-gradient(ellipse at 80% -10%,rgba(68,185,117,.095),transparent 45%),linear-gradient(180deg,#fdfffe,#f6fbf8)!important;color:var(--text)}
h1,h2,h3,h4,.heading h1{letter-spacing:-.04em}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #0ea574;outline-offset:3px}
.glass,.card,.quickItem,.resourceItem,.metric,.adminBlock,.slot,.subjectHero,.subjectCard,.weekGrid .dayCol,.previewCard{
 background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(244,252,247,.73))!important;
 border:1px solid rgba(57,144,98,.15)!important;
 backdrop-filter:blur(20px) saturate(125%);
 box-shadow:0 15px 47px rgba(17,86,49,.065)!important;border-radius:20px!important
}
.btn.primary,.btn.violet,.sxGoogle{background:linear-gradient(130deg,#0b6e4a,#0fa273)!important;color:#fff!important;border:1px solid #197f59!important;box-shadow:0 12px 28px rgba(11,126,76,.19)}
.btn:not(.primary):not(.violet){border-color:#d7e8de}
.btn,.chip,.navBtn,.sxSeg button{transition:background .17s,border-color .17s,box-shadow .17s,transform .17s}
.btn:hover,.card:hover{transform:translateY(-2px)}
.pill.violet,.pill.amber,.pill.green{background:#e3f6eb!important;color:#16704d!important;border-color:#c9e9d6!important}
.blob,.b1,.b2{opacity:.2;filter:blur(70px)}
/* Login: uma única ação Google, a esfera é a marca principal (não logomarca de traçado). */
#landing{display:flex;min-height:100dvh;align-items:center;justify-content:center;gap:0;padding:34px 24px;background:#fff}
#landing .hero{max-width:1160px;width:100%;min-height:620px;position:relative;isolation:isolate;overflow:hidden;border:1px solid #e1efe6!important;border-radius:36px!important;
  background:linear-gradient(120deg,rgba(255,255,255,.96) 0%,rgba(249,254,250,.98) 63%,rgba(223,248,233,.84) 100%)!important;
  padding:42px clamp(25px,5vw,72px)!important;box-shadow:0 20px 80px rgba(18,113,65,.075)!important}
#landing .hero:before{content:"";position:absolute;width:clamp(270px,40vw,510px);height:clamp(270px,40vw,510px);right:clamp(12px,4vw,60px);top:120px;
  background:url('/icons/sinus-esfera-ecg.webp') center/contain no-repeat;border-radius:50%;
  box-shadow:0 45px 80px rgba(8,105,57,.08);animation:sinusLevitate 7s ease-in-out infinite;pointer-events:none;z-index:-1}
#landing .hero:after{content:"";position:absolute;right:8%;top:15%;width:25px;height:25px;border-radius:50%;
  background:radial-gradient(circle at 32% 26%,#fff 9%,#9edebc 45%,#14804e 88%);
  box-shadow:-50px 290px 0 -7px #b6e9ca,80px 360px 0 -10px #7ccea2;animation:sinusLevitate 9s ease-in-out infinite}
#landing .hero h1{max-width:560px;font-size:clamp(37px,4.2vw,64px);font-weight:800;letter-spacing:-.065em;line-height:1.07;margin:32px 0 20px;color:#103b2d}
#landing .hero h1 em{background:linear-gradient(100deg,#096941,#16a875);color:transparent;background-clip:text;-webkit-background-clip:text}
#landing .hero>p{max-width:490px;font-size:14px;line-height:1.7}
#landing .sxEntrada{max-width:415px;position:relative;z-index:2}
#landing .metrics{max-width:520px;grid-template-columns:repeat(2,1fr)}
#landing .metric{padding:12px 14px}
#landing .previewShell{display:none!important}
#landing .sxLandTop{max-width:480px}
#landing .hero>.pill{background:#e8f7ee!important;color:#0f7952}
.logo{font-weight:800!important;letter-spacing:-.04em}
.logoMark{width:40px;height:40px;overflow:hidden;border-radius:50%!important;box-shadow:0 8px 24px rgba(13,133,75,.13);background:white!important}
.logoMark:before{display:none!important}
.logoMark.sinusOrb img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}
.sxOnb .logoMark{width:46px;height:46px}
#landing .sxLandTop .logoMark{width:47px;height:47px}
/* Mesmo universo visual em toda a interface do aluno */
#app .sidebar{background:linear-gradient(170deg,#0a3a2b,#105238 62%,#0b3829)!important;border-right:1px solid rgba(120,228,159,.13)}
#app .sidebar .sidePanel{background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(196,245,220,.045));border-radius:20px}
#app .sidebar .navBtn.active,#app .sidebar .navBtn:hover{background:rgba(211,255,226,.13)!important}
#app .sidebar .navIcon{color:#bdebd2;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.09)!important}
.navIcon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
#app .sidebar .sideBrand{padding-bottom:19px}
#app .topbar{background:rgba(251,255,252,.87)!important;backdrop-filter:blur(22px);border-bottom:1px solid #deeee3}
#app .card .iconWrap{color:#12734f;background:linear-gradient(135deg,#e2f6e9,#d7efdf)}
#app .card .iconWrap svg{width:23px;height:23px}
#app .subjectHero{background:linear-gradient(135deg,#e3f8eb,#fafefb)!important}
#app .subjectTop{background:rgba(248,254,250,.92)!important}
#app .subjectShell .glass,#app .subjectShell .card{border-color:rgba(40,130,78,.16)!important}
#app .sxBottomNav{background:rgba(249,254,250,.94)!important;backdrop-filter:blur(18px)}
/* Agendas estilo calendário premium: dias em grade, próximos compromissos à direita */
#page-agenda .sinus-agenda{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:start}
#page-agenda .sinus-cal{background:rgba(255,255,255,.89);border:1px solid #dcebe2;border-radius:25px;padding:21px;box-shadow:var(--shadow)}
#page-agenda .sinus-cal-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}
#page-agenda .sinus-month-title{font-size:21px;font-weight:800;letter-spacing:-.045em}
#page-agenda .sinus-cal-controls{display:flex;gap:7px;align-items:center}
#page-agenda .sinus-cal-controls button{height:36px;min-width:36px;border-radius:12px;border:1px solid #d6eadf;background:#f7fcf8;color:#206e4d;font-weight:700;cursor:pointer}
#page-agenda .sinus-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
#page-agenda .sinus-dow{color:#729483;font-weight:800;font-size:10px;text-align:center;padding:8px 0;text-transform:uppercase;letter-spacing:.07em}
#page-agenda .sinus-day{background:#f9fcfa;border:1px solid #e5f1e9;border-radius:13px;min-height:83px;text-align:left;display:flex;flex-direction:column;gap:5px;padding:9px;cursor:pointer;color:#274734;overflow:hidden}
#page-agenda .sinus-day.muted{opacity:.35}
#page-agenda .sinus-day.today{border:1px solid #39ad76;background:#eaf8ee}
#page-agenda .sinus-day.selected{box-shadow:0 0 0 2px #14895f}
#page-agenda .sinus-day-num{font-size:12px;font-weight:800}
#page-agenda .sinus-event-pill{display:block;max-width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:9px;font-weight:700;color:#176c4c;background:#dff5e8;border-radius:5px;padding:4px 5px}
#page-agenda .sinus-day.active .sinus-day-num{color:#0b9c63}
#page-agenda .sinus-agenda-side{display:grid;gap:13px}
#page-agenda .sinus-side-card{background:linear-gradient(140deg,rgba(255,255,255,.92),rgba(237,250,243,.78));border:1px solid #dcebe2;border-radius:22px;padding:22px}
#page-agenda .sinus-side-card h3{font-size:16px;margin-bottom:14px}
#page-agenda .sinus-agenda-item{border-left:3px solid #2bac76;padding:6px 0 8px 12px;margin:0 0 12px}
#page-agenda .sinus-agenda-item strong{display:block;font-size:12px;color:#133f2d}
#page-agenda .sinus-agenda-item small{display:block;font-size:10px;color:#6b8777;margin-top:4px}
#page-agenda .sinus-agenda-action{border:0;border-radius:12px;padding:12px 14px;background:#0d8158;color:white;font-weight:800;cursor:pointer}
#page-agenda .sinus-agenda-empty{font-size:12px;color:#7d9184;line-height:1.55}
#page-schedule .weekGrid{gap:8px}
#page-schedule .dayCol{background:#f9fcfa!important;border:1px solid #deeee2!important;border-radius:18px;padding:12px}
#page-schedule .slot{background:#e9f8ee!important;border-color:#d1eadb!important;box-shadow:none!important}
#page-schedule .slot .time{color:#167c52}
@keyframes sinusLevitate{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)}}
@media(max-width:1100px){#landing .hero:before{opacity:.39;right:0}#landing .hero{min-height:600px}#page-agenda .sinus-agenda{grid-template-columns:1fr}}
@media(max-width:700px){
 #landing{padding:0;align-items:flex-start}#landing .hero{border-radius:0!important;min-height:100dvh;padding:20px 19px 35px!important}
 #landing .hero:before{position:relative;display:block;top:auto;right:auto;float:none;width:clamp(184px,49vw,238px);height:clamp(184px,49vw,238px);margin:9px auto 5px;opacity:1;box-shadow:none}
 #landing .hero:after{top:13%;right:19%;width:17px;height:17px}
 #landing .hero h1{font-size:clamp(32px,8vw,43px);margin-top:18px!important}
 #landing .hero>p{font-size:12px;line-height:1.5}
 #landing .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 #landing .metric{padding:9px}
 #page-agenda .sinus-cal{padding:11px;border-radius:18px}
 #page-agenda .sinus-days{gap:3px}
 #page-agenda .sinus-day{padding:5px;min-height:59px;border-radius:9px}
 #page-agenda .sinus-day-num{font-size:11px}
 #page-agenda .sinus-event-pill{font-size:8px;padding:2px}
 #page-agenda .sinus-cal-head{padding:7px;margin-bottom:10px}
 #page-agenda .sinus-month-title{font-size:17px}
}
@media(prefers-reduced-motion:reduce){#landing .hero:before,#landing .hero:after{animation:none}}
