:root{--ink:#10213d;--muted:#66748d;--paper:#f3f6fb;--card:#fff;--line:#dfe6f1;--blue:#116bb0;--blue2:#3a55dc;--cyan:#35bddd;--gold:#f5b62f;--green:#19775f;--shadow:0 20px 55px rgba(26,48,86,.12);--soft:0 10px 28px rgba(37,58,95,.08);--radius:26px;--content:min(1420px,calc(100% - 40px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;min-height:100vh}button,select,input{font:inherit}button,a{touch-action:manipulation}.app-shell{min-height:100vh}.preview-ribbon{position:fixed;right:18px;bottom:18px;z-index:60;padding:8px 12px;border:1px solid #ffffff30;border-radius:999px;background:#10213ddd;color:#fff;font-size:10px;font-weight:800;letter-spacing:.1em;backdrop-filter:blur(12px)}svg{width:21px;height:21px}.app-shell{position:relative;z-index:1}.ambient{display:block;position:fixed;z-index:0;border-radius:50%;pointer-events:none;filter:blur(70px);opacity:.55}.ambient-one{top:-170px;right:-140px;width:460px;height:460px;background:radial-gradient(circle,var(--cyan),transparent 72%)}.ambient-two{bottom:-220px;left:-180px;width:560px;height:560px;background:radial-gradient(circle,var(--blue2),transparent 72%)}@media(max-width:720px){.ambient-one{width:280px;height:280px;top:-110px;right:-100px}.ambient-two{width:340px;height:340px;bottom:-140px;left:-120px}}
.public-header{position:relative;z-index:20;background:linear-gradient(120deg,#084879,#075f9e 58%,#2366b2);color:#fff}.public-header:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% -80%,#6ce0ff44,transparent 48%);pointer-events:none}.public-header-inner{position:relative;z-index:1;width:var(--content);min-height:150px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.public-header.compact .public-header-inner{min-height:94px}.wordmark{display:flex;align-items:center;gap:13px;color:#fff;font:800 21px/1.05 Manrope,sans-serif}.wordmark-mark{width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#53d2e8,#5570ef);display:grid;place-items:center;box-shadow:inset 0 1px #ffffff7a,0 10px 22px #002a5540}.wordmark small{display:block;margin-top:5px;color:#bedaf1;font:700 10px "DM Sans";letter-spacing:.17em;text-transform:uppercase}.header-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.header-links a,.header-links button{border:1px solid #ffffff30;background:#ffffff0d;color:#fff;text-decoration:none;border-radius:12px;padding:11px 16px;font-weight:700;cursor:pointer;transition:.25s}.header-links a:hover,.header-links button:hover{background:#fff;color:#07578f;transform:translateY(-2px)}
.wordmark-copy{display:block}.wordmark-name{display:block;white-space:nowrap}.wordmark-name b{display:block;font-weight:900}.wordmark-name em{display:block;margin-top:4px;color:#0876bd;font-size:.63em;font-style:normal;font-weight:900;letter-spacing:.075em}.wordmark-copy small{width:max-content}
.welcome-main{width:var(--content);margin:auto;padding:66px 0 80px}.welcome-intro{text-align:center;max-width:860px;margin:0 auto 38px}.eyebrow{display:flex;justify-content:center;align-items:center;gap:12px;color:#0871b8;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow:before,.eyebrow:after{content:"";width:35px;height:3px;border-radius:3px;background:var(--gold)}.welcome-intro h1{margin:15px 0 20px;font:800 clamp(42px,6vw,76px)/.98 Manrope,sans-serif;letter-spacing:-.055em}.welcome-intro h1 span{color:#0875be}.welcome-chips{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.welcome-chips span{padding:9px 14px;background:#fff;border:1px solid var(--line);box-shadow:var(--soft);border-radius:999px;color:#55627a;font-size:13px;font-weight:700}.welcome-chips span:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);margin-right:8px}.course-choices{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.course-choice,.student-choice{min-height:300px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;border:0;border-radius:var(--radius);padding:34px;text-align:left;color:#fff;text-decoration:none;cursor:pointer;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s}.course-choice:before,.student-choice:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--choice) 68%,#092645),var(--choice));z-index:0}.course-choice:nth-child(2):before{background:linear-gradient(135deg,#283f59,#d4931f)}.student-choice:before{background:linear-gradient(135deg,#0c4d56,#238d75)}.course-choice:after,.student-choice:after{content:"";position:absolute;width:210px;height:210px;right:-90px;top:-85px;border:1px solid #ffffff27;border-radius:50%;box-shadow:0 0 0 48px #ffffff08}.course-choice:hover,.student-choice:hover{transform:translateY(-7px);box-shadow:0 28px 65px rgba(26,48,86,.2)}.course-choice>*,.student-choice>*{position:relative;z-index:1}.choice-icon{width:55px;height:55px;border:1px solid #ffffff35;border-radius:17px;display:grid;place-items:center;background:#ffffff12;margin-bottom:auto}.choice-copy{display:block;margin-top:40px}.choice-copy small{display:block;color:#dbe8f3;font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:10px;margin-bottom:9px}.choice-copy b{display:block;font:800 clamp(23px,2.2vw,34px)/1.12 Manrope,sans-serif;letter-spacing:-.035em}.choice-copy p{margin:10px 45px 0 0;color:#edf4fa;line-height:1.5}.choice-arrow{position:absolute;z-index:2;right:27px;bottom:27px;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;border:1px solid #ffffff40;background:#ffffff12}.choice-arrow svg{width:18px}.welcome-note{max-width:1050px;margin:24px auto 0;padding:18px 22px;border:1px solid var(--line);border-left:5px solid #0875be;border-radius:17px;background:#fff;box-shadow:var(--soft)}.welcome-note b{color:#075f9e}.welcome-note p{display:inline;margin-left:10px;color:var(--muted)}
.portal{min-height:100vh}.main{width:100%}.course-banner{position:relative;width:var(--content);min-height:210px;margin:34px auto 0;padding:42px 90px;border-radius:30px;color:#fff;display:flex;align-items:center;overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(110deg,#0a4d83,#0b76bb)}.course-banner.edc{background:linear-gradient(110deg,#28445e,#c48818)}.course-banner:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-110px;top:-180px;border:1px solid #ffffff30;box-shadow:0 0 0 65px #ffffff08}.course-banner>div{position:relative;z-index:1}.course-banner small{text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:#d9edf9}.course-banner h1{font:800 clamp(30px,4vw,52px)/1.04 Manrope,sans-serif;letter-spacing:-.045em;margin:9px 0}.course-banner p{margin:0;color:#e7f1f8}.course-code{position:absolute;z-index:2;right:45px;bottom:38px;border:1px solid #ffffff50;border-radius:999px;padding:10px 17px;font-weight:800}.banner-back{position:absolute;left:26px;top:26px;z-index:3;border:1px solid #ffffff35;background:#ffffff13;color:#fff;width:43px;height:43px;border-radius:14px;display:grid;place-items:center;cursor:pointer}.floating-nav{position:sticky;top:15px;z-index:30;width:max-content;max-width:calc(100% - 32px);margin:-26px auto 0;padding:8px;display:flex;gap:5px;border:1px solid #ffffffbb;background:#ffffffdc;border-radius:20px;box-shadow:0 18px 45px rgba(24,45,80,.18);backdrop-filter:blur(18px)}.floating-nav button,.bottom-dock button{border:0;background:transparent;color:#64728a;border-radius:14px;padding:12px 20px;display:flex;align-items:center;gap:9px;font-weight:800;cursor:pointer;transition:.25s}.floating-nav button.active,.bottom-dock button.active{background:linear-gradient(135deg,#0878c8,#445ae3);color:#fff;box-shadow:0 8px 22px #215ecf42}.page-content{width:var(--content);margin:0 auto;padding:58px 0 90px}.bottom-dock{display:none}
.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:28px}.section-intro .eyebrow{justify-content:flex-start}.section-intro .eyebrow:after{display:none}.section-intro h1{margin:8px 0 0;font:800 clamp(31px,4vw,48px)/1.05 Manrope,sans-serif;letter-spacing:-.04em}.hero-meta{display:flex;gap:10px}.meta-card{min-width:100px;padding:14px 18px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--soft)}.meta-card small{display:block;color:var(--muted);font-weight:700}.meta-card b{font:800 28px Manrope,sans-serif}.filters{display:flex;justify-content:space-between;gap:18px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--soft);margin-bottom:34px}.day-list{display:flex;gap:6px}.day-btn{min-width:55px;border:0;border-radius:12px;background:transparent;padding:12px;color:#65738a;font-weight:800;cursor:pointer}.day-btn.active{background:#0a70b6;color:#fff}.select-wrap select{height:100%;min-width:240px;border:1px solid var(--line);border-radius:12px;padding:0 14px;color:var(--ink);background:#f8faff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:28px 0 18px}.section-heading h2{margin:0;font:800 25px Manrope,sans-serif}.section-heading p{margin:5px 0 0;color:var(--muted)}.count{padding:8px 12px;border-radius:999px;background:#e9f3fb;color:#0965a4;font-size:12px;font-weight:800}.schedule-grid,.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.lesson,.notice-card,.teacher-card,.date-card{opacity:0;transform:translateY(14px);animation:rise .42s ease forwards;border:1px solid var(--line);border-radius:22px;background:#fff;padding:23px;box-shadow:var(--soft)}@keyframes rise{to{opacity:1;transform:none}}.lesson{border-top:4px solid var(--course-color)}.lesson-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lesson-time{font-weight:900;color:#075f9e}.lesson-time small{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:500}.lesson-tags{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.tag{background:#e6f2fc;color:#075f9e;border-radius:8px;padding:5px 8px;font-size:10px;font-weight:900}.tag.edc{background:#fff1d7;color:#a26000}.lesson h3{font:800 18px/1.25 Manrope,sans-serif;margin:22px 0 8px}.teacher{color:var(--muted)}.room{display:flex;gap:11px;align-items:center;margin-top:19px;padding-top:17px;border-top:1px solid var(--line)}.room-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#e8f4fb;color:#0870b5}.room b,.room small{display:block}.room small{color:var(--muted);margin-top:3px}.notice-card.featured{grid-column:span 2;background:linear-gradient(135deg,#eef8ff,#fff)}.notice-date,.card-label{display:inline-block;color:#0870b5;background:#e8f4fb;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.notice-card h3,.teacher-card h3,.date-card h3{font:800 19px Manrope,sans-serif;margin:15px 0 9px}.notice-card p,.date-card p{color:var(--muted);line-height:1.65}.avatar{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#dff3ff,#e8e8ff);color:#086aaa;font-weight:900;object-fit:cover}.teacher-card a{color:#076aab}.teacher-chip{display:inline-block;margin-top:18px;padding:7px 10px;border-radius:9px;background:#eef4fa;color:#617089;font-size:11px;font-weight:800}.date-card{border-left:5px solid var(--date)}.date-day{font-weight:900;color:var(--date)}.empty,.error-card{grid-column:1/-1;padding:50px;border:1px dashed #bdc8d9;border-radius:22px;background:#fff;text-align:center;color:var(--muted)}.loading{min-height:100vh;display:grid;place-items:center;text-align:center}.loader-orbit{width:55px;height:55px;border:4px solid #dbe8f4;border-top-color:#0876bd;border-radius:50%;animation:spin .7s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.course-choices{grid-template-columns:1fr 1fr}.student-choice{grid-column:1/-1;min-height:210px}.schedule-grid,.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-header-inner{min-height:130px}.course-banner{min-height:190px}}

/* Mantém o ícone de Formulários alinhado à paleta dos demais atalhos. */
.lesson,.notice-card,.date-card{position:relative}.share-card-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.share-card-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid #cfe2f1;border-radius:12px;background:#eef7fd;color:#086aaa;padding:0;cursor:pointer;transition:.2s}.share-card-button:hover{background:#0875be;color:#fff;border-color:#0875be;transform:translateY(-1px)}.share-card-button svg{width:17px;height:17px}.share-card-button:disabled{opacity:.62;cursor:progress;transform:none}.share-card-spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .65s linear infinite}.share-card-watermark{margin-top:26px;padding-top:17px;border-top:1px dashed #d8e1df;font-size:13px;color:#6f7c7a;text-align:center}.lesson h3{font-size:clamp(19px,1.45vw,22px)}.teacher{font-size:clamp(15px,1.1vw,17px)}.room b{font-size:clamp(15px,1.1vw,17px)}.room small{font-size:14px}.notice-card h3,.date-card h3{font-size:clamp(21px,1.55vw,24px)}.notice-card p,.date-card p{font-size:clamp(15px,1.1vw,17px)}.date-day{font-size:16px}.share-card-capturing{width:690px;max-width:none;animation:none!important;opacity:1!important;transform:none!important;box-shadow:none!important;padding:30px 36px!important}.share-card-capturing.date-card{border:1px solid #cbd9e8!important;border-left:9px solid #5d8fc4!important;border-radius:24px!important;background:#eaf3ff!important;color:#1e2928}.share-card-capturing.date-card .date-day{margin:0 0 12px;color:#3e4e4d;font-size:16px}.share-card-capturing.date-card .card-label{background:#fff;color:#202827;padding:7px 12px;font-size:13px}.share-card-capturing.date-card h3{margin:20px 0 8px;font-size:25px}.share-card-capturing.date-card .date-professor{margin:0 0 18px;font-size:19px}.share-card-capturing.date-card .date-location{margin:0 0 15px;color:#202827;font-size:18px}.share-card-capturing.date-card .date-card-groups span{background:transparent;color:#264a45;padding:6px 8px;font-size:12px;letter-spacing:.08em}.share-card-capturing.notice-card{border:1px solid #d8e0df!important;border-radius:24px!important;background:#fff!important;color:#1e2928}.share-card-capturing.notice-card .notice-date{background:transparent;color:#697977;padding:0;font-size:15px}.share-card-capturing.notice-card h3{margin:20px 0 12px;font-size:24px}.share-card-capturing.notice-card p{margin:0;font-size:18px;line-height:1.55}
@media(max-width:720px){:root{--content:calc(100% - 28px)}body{padding-bottom:82px}.preview-ribbon{display:none}.public-header-inner,.public-header.compact .public-header-inner{min-height:auto;padding:20px 0;display:block;text-align:center}.wordmark{justify-content:center;font-size:17px}.wordmark-mark{width:40px;height:40px}.header-links{justify-content:center;margin-top:16px;gap:7px}.header-links a,.header-links button{padding:9px 12px;font-size:12px}.welcome-main{padding:42px 0 35px}.welcome-intro{margin-bottom:27px}.welcome-intro h1{font-size:45px}.welcome-chips{gap:7px}.welcome-chips span{font-size:11px;padding:7px 10px}.course-choices{grid-template-columns:1fr}.course-choice,.student-choice{grid-column:auto;min-height:235px;padding:26px}.choice-copy{margin-top:27px}.choice-copy b{font-size:25px}.choice-copy p{font-size:14px}.welcome-note p{display:block;margin:7px 0 0}.course-banner{width:calc(100% - 20px);min-height:170px;margin-top:12px;padding:62px 25px 28px;border-radius:24px}.course-banner h1{font-size:29px;max-width:90%}.course-banner p{font-size:13px}.course-code{right:20px;bottom:20px;font-size:12px}.banner-back{left:20px;top:17px}.floating-nav{display:none}.page-content{padding:35px 0 24px}.bottom-dock{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);z-index:50;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));padding:7px;border:1px solid #ffffffc7;border-radius:21px;background:#ffffffde;box-shadow:0 16px 45px rgba(18,42,78,.24);backdrop-filter:blur(18px)}.bottom-dock button{padding:9px 4px;display:flex;flex-direction:column;gap:3px;font-size:10px}.bottom-dock button svg{width:19px;height:19px}.section-intro{align-items:center}.section-intro h1{font-size:30px}.section-intro .eyebrow{font-size:9px}.hero-meta{display:none}.filters{display:block;padding:9px;overflow:hidden}.day-list{overflow-x:auto;padding-bottom:8px}.day-btn{min-width:49px}.select-wrap select{width:100%;height:45px;min-width:0}.section-heading{align-items:flex-start}.section-heading p{font-size:13px}.count{white-space:nowrap}.schedule-grid,.content-grid{grid-template-columns:1fr}.notice-card.featured{grid-column:auto}.lesson,.notice-card,.teacher-card,.date-card{padding:20px}.lesson h3{font-size:17px}}
@media(max-width:720px){.course-banner p{max-width:78%}.course-code{top:20px;right:20px;bottom:auto}}
.teacher-trigger{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;padding:2px 0;cursor:pointer;text-align:left}.teacher-trigger:hover{color:#0870b5;text-decoration:underline}.teacher-trigger span{width:19px;height:19px;display:grid;place-items:center;border:1px solid #9badc0;border-radius:50%;color:#0870b5;font:900 11px Arial}.teacher-sheet-bg{position:fixed;inset:0;z-index:100;background:#10213d88;backdrop-filter:blur(7px);display:grid;place-items:center;padding:22px}.teacher-sheet{position:relative;width:min(720px,100%);max-height:calc(100dvh - 44px);overflow:auto;border:1px solid #ffffffa8;border-radius:28px;background:#fff;padding:30px;box-shadow:0 32px 90px #07182d55}.sheet-handle{display:none}.sheet-close{position:absolute;right:18px;top:18px;width:38px;height:38px;border:0;border-radius:12px;background:#edf3f8;color:#173b60;font-size:24px;cursor:pointer}.teacher-sheet header{display:flex;align-items:center;gap:16px;padding-right:45px}.sheet-avatar{width:72px;height:72px;flex:0 0 72px;border-radius:20px;background:linear-gradient(145deg,#dff3ff,#e8e8ff);color:#086aaa;display:grid;place-items:center;font-weight:900;font-size:21px;overflow:hidden}.sheet-avatar img{width:100%;height:100%;object-fit:cover}.teacher-sheet header small,.sheet-section>small{display:block;margin-bottom:5px;color:#718096;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.teacher-sheet header h2{margin:0 0 7px;font:800 25px Manrope,sans-serif}.teacher-sheet header span{display:inline-flex;padding:5px 8px;border-radius:8px;background:#e9f3fb;color:#0965a4;font-size:11px;font-weight:850}.sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.sheet-section{margin-top:12px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#f9fbfd}.sheet-grid .sheet-section{margin-top:0}.sheet-section a{color:#086aaa;font-weight:800;overflow-wrap:anywhere}.sheet-section p{margin:5px 0;color:#52627b}.sheet-section.related{background:#f1f8fd}.teacher-materials{display:grid;gap:8px}.teacher-materials a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;background:#fff;text-decoration:none}.teacher-materials a span{padding:5px 8px;border-radius:7px;background:#e9f3fb;font-size:10px;font-weight:900}.teacher-materials a b{min-width:0;overflow-wrap:anywhere}.teacher-sheet details{margin-top:12px;padding:15px;border:1px solid var(--line);border-radius:15px}.teacher-sheet summary{color:#086aaa;font-weight:850;cursor:pointer}.teacher-sheet details[open] summary{margin-bottom:10px}.muted{color:var(--muted)}
.forms-public{display:grid;gap:20px}.public-form{border:1px solid var(--line);border-radius:26px;background:#fff;padding:clamp(22px,4vw,38px);box-shadow:var(--soft)}.public-form>h2{margin:12px 0 8px;font:800 27px Manrope,sans-serif}.public-form>p,.dependency-head p{color:var(--muted)}.form-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e9f3fb;color:#086aaa;font-size:10px;font-weight:900;letter-spacing:.08em}.public-form form{margin-top:25px}.form-row{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.public-form label b{display:block;margin-bottom:7px;font-size:12px}.public-form input[type="text"],.public-form input:not([type]),.public-form select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#f9fbfd;padding:11px 13px;color:var(--ink)}.dependency-head{margin:26px 0 12px}.dependency-head p{margin:5px 0}.matrix-groups{display:grid;gap:13px}.matrix-groups section{border:1px solid var(--line);border-radius:16px;padding:16px;background:#f9fbfd}.matrix-groups h3{margin:0 0 12px;font:800 15px Manrope,sans-serif;color:#086aaa}.matrix-groups section>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.matrix-groups label{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid #e1e8f0;border-radius:11px;background:#fff;cursor:pointer}.matrix-groups input{margin-top:3px;accent-color:#0875be}.matrix-groups label span{font-size:12px;font-weight:700;line-height:1.35}.privacy-hint{margin:18px 0;padding:13px 15px;border-radius:12px;background:#edf7f4;color:#326659;font-size:12px}.submit-form{border:0;border-radius:12px;background:linear-gradient(135deg,#0878c8,#445ae3);color:#fff;padding:13px 18px;font-weight:850;cursor:pointer}.submit-form:disabled{opacity:.6}.toast{position:fixed;left:50%;bottom:95px;z-index:150;transform:translateX(-50%);max-width:min(520px,calc(100% - 30px));padding:13px 18px;border-radius:13px;background:#10213d;color:#fff;box-shadow:0 18px 50px #07182d44;font-weight:700;text-align:center}
@media(max-width:720px){.teacher-sheet-bg{align-items:end;padding:0}.teacher-sheet{width:100%;max-height:89dvh;border-radius:26px 26px 0 0;padding:27px 18px 22px}.sheet-handle{display:block;width:46px;height:5px;margin:-14px auto 16px;border-radius:999px;background:#cad5df}.sheet-avatar{width:60px;height:60px;flex-basis:60px;border-radius:17px}.teacher-sheet header h2{font-size:20px}.sheet-grid,.form-row{grid-template-columns:1fr}.matrix-groups section>div{grid-template-columns:1fr}.public-form{padding:20px}.public-form>h2{font-size:23px}.teacher-trigger{min-height:32px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.lesson,.notice-card,.teacher-card,.date-card{animation:none;opacity:1;transform:none}.course-choice,.student-choice,.header-links a,.header-links button{transition:none}}
@media(max-height:600px){.ambient{opacity:.35}}
.tag{background:#eef2f7;color:#4d6078}.tag.ads{background:#e6f2fc;color:#075f9e}.tag.edc{background:#fff1d7;color:#a26000}.tag.shared{background:linear-gradient(90deg,#e6f2fc 0 50%,#fff1d7 50%);color:#314e6c}

/* Identidade leve na entrada e navegação compacta dentro dos cursos */
body:has(.welcome-main) .public-header{background:transparent;color:var(--ink)}
body:has(.welcome-main) .public-header:after{display:none}
body:has(.welcome-main) .public-header-inner{min-height:112px;padding-top:18px}
body:has(.welcome-main) .wordmark{color:#0a2742}
body:has(.welcome-main) .wordmark small{color:#6b7d91}
body:has(.welcome-main) .header-links a{border-color:#d8e3ee;background:#fff;color:#31506d;box-shadow:0 8px 25px #1b426414}
body:has(.welcome-main) .header-links a:hover{border-color:#9fc9e8;background:#eef8ff;color:#075f9e}
body:has(.welcome-main) .welcome-intro>.eyebrow{display:none}
.course-choice .choice-copy>small{display:none}

.public-header.compact{position:sticky;top:0;z-index:45;padding:12px 0 0;background:transparent;color:var(--ink)}
.public-header.compact:after{display:none}
.public-header.compact .public-header-inner{min-height:70px;padding:10px 11px 10px 18px;border:1px solid #ffffff30;border-radius:21px;background:linear-gradient(130deg,#07375f,#075f9e 62%,#3157e2);box-shadow:0 18px 44px #123d6b35;backdrop-filter:blur(20px)}
.public-header.compact .wordmark{color:#fff;font-size:17px}
.public-header.compact .wordmark-name em{color:#75ddf3}
.public-header.compact .wordmark-mark{width:40px;height:40px;border-radius:13px}
.public-header.compact .wordmark small{margin-top:3px;color:#708196;font-size:8px}
.portal-access{position:relative}
.access-toggle{display:flex;align-items:center;gap:8px;border:1px solid #d7e3ed;border-radius:13px;background:#f5f9fc;color:#174766;padding:10px 14px;font-weight:800;cursor:pointer;transition:.2s}
.public-header.compact .access-toggle{border-color:#ffffff45;background:#ffffff18;color:#fff}
.access-toggle:hover,.portal-access.open .access-toggle{border-color:#fff;background:#fff;color:#075f9e}
.menu-glyph{font-size:17px;line-height:1}
.access-popover{position:absolute;right:0;top:calc(100% + 10px);width:210px;padding:8px;display:flex;flex-direction:column;align-items:stretch;gap:4px;border:1px solid #dce6ef;border-radius:17px;background:#fffffff2;box-shadow:0 22px 55px #142f4b2b;backdrop-filter:blur(20px);opacity:0;visibility:hidden;transform:translateY(-7px) scale(.98);transform-origin:top right;pointer-events:none;transition:.18s}
.portal-access.open .access-popover{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.access-popover a,.access-popover button{width:100%;margin:0;border:0!important;border-radius:11px!important;background:transparent!important;color:#294d68!important;padding:11px 12px!important;text-align:left;text-decoration:none;box-shadow:none!important}
.access-popover a:hover,.access-popover button:hover{background:#edf7fe!important;color:#075f9e!important;transform:none!important}

/* Cabeçalho interno com a mesma superfície leve da seleção de cursos. */
.public-header.compact{background:transparent}
.public-header.compact .public-header-inner{border-color:#e0eaf3;background:#ffffffed;box-shadow:0 14px 36px #173e6714}
.public-header.compact .wordmark{color:#10213d}
.public-header.compact .wordmark-name em{color:#0876bd}
.public-header.compact .wordmark small{color:#6b7d91}
.public-header.compact .access-toggle{border-color:#d9e6f0;background:#f2f7fb;color:#174766}
.public-header.compact .access-toggle:hover,.public-header.compact .portal-access.open .access-toggle{border-color:#b9d8ee;background:#e9f5fd;color:#076aa9}

@media(max-width:720px){
 body:has(.welcome-main) .public-header-inner{min-height:auto;padding:8px 0 0}
 body:has(.welcome-main) .wordmark{font-size:15px;gap:9px}
 body:has(.welcome-main) .wordmark-mark{width:35px;height:35px;border-radius:11px}
 body:has(.welcome-main) .header-links{margin-top:8px;gap:5px}
 body:has(.welcome-main) .header-links a{padding:7px 9px;font-size:10px;border-radius:10px}
 body:has(.welcome-main) .welcome-main{padding-top:8px}
 body:has(.welcome-main) .welcome-intro{margin-bottom:14px}
 body:has(.welcome-main) .welcome-intro h1{font-size:39px;line-height:.98}
 body:has(.welcome-main) .welcome-chips{width:min(100%,350px);margin:13px auto 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 7px;padding:0}
 body:has(.welcome-main) .welcome-chips span{display:inline-flex;align-items:center;justify-content:flex-start;width:auto;flex:0 0 auto;padding:7px 11px;font-size:9px;white-space:nowrap}
 body:has(.welcome-main) .course-choice,body:has(.welcome-main) .student-choice{min-height:190px;padding:22px}
 body:has(.welcome-main) .choice-icon{width:47px;height:47px;border-radius:15px}
 body:has(.welcome-main) .choice-copy{margin-top:18px}
 body:has(.welcome-main) .choice-copy b{font-size:23px;line-height:1.08}
 body:has(.welcome-main) .choice-copy p{margin-top:9px;font-size:12px;line-height:1.45}
 .public-header.compact{padding-top:8px}
 .public-header.compact .public-header-inner{min-height:62px;padding:8px 9px 8px 12px;display:flex;align-items:center;justify-content:space-between;text-align:left}
 .public-header.compact .wordmark{justify-content:flex-start;font-size:14px;gap:9px}
 .public-header.compact .wordmark-mark{width:36px;height:36px}
 .public-header.compact .wordmark small{font-size:7px;letter-spacing:.1em}
 .public-header.compact .header-links{margin-top:0}
 .access-toggle{padding:9px 11px}
 .access-toggle span:last-child{display:none}
 .access-popover{position:fixed;top:80px;left:14px;right:14px;width:auto}
}

/* Perfil público do professor alinhado à linguagem visual do portal */
.teacher-sheet-bg{background:linear-gradient(145deg,#092f518f,#172b4d99);backdrop-filter:blur(12px)}
.teacher-sheet{isolation:isolate;width:min(760px,100%);padding:14px;border:1px solid #ffffffb8;border-radius:32px;background:linear-gradient(155deg,#f7fbff,#fff 58%,#f1f6fb);box-shadow:0 36px 100px #06182c66;overflow:auto;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}
.teacher-sheet::-webkit-scrollbar{width:0;height:0}
.teacher-sheet:before{content:"";position:absolute;z-index:-1;width:240px;height:240px;right:-95px;top:-105px;border-radius:50%;background:#7edcf129;box-shadow:0 0 0 48px #556ee614;pointer-events:none}
.teacher-sheet>header{position:relative;min-height:145px;padding:26px 72px 26px 26px;border-radius:23px;background:linear-gradient(125deg,#075a94,#087bc0 58%,#445ae3);color:#fff;overflow:hidden}
.teacher-sheet>header:after{content:"";position:absolute;width:190px;height:190px;right:-75px;top:-105px;border:1px solid #ffffff34;border-radius:50%;box-shadow:0 0 0 42px #ffffff0b}
.teacher-sheet>header>div{position:relative;z-index:1}
.teacher-sheet header small{color:#c9e9ff}
.teacher-sheet header h2{margin-bottom:10px;color:#fff;font-size:27px;letter-spacing:-.025em}
.teacher-sheet header span{background:#ffffff20;color:#fff;border:1px solid #ffffff29;padding:6px 9px}
.sheet-avatar{width:84px;height:84px;flex-basis:84px;border:4px solid #ffffffd9;border-radius:24px;background:#fff;box-shadow:0 15px 35px #05375b59;color:#075f9e}
.sheet-close{z-index:4;right:26px;top:26px;background:#ffffff20;color:#fff;border:1px solid #ffffff2c;backdrop-filter:blur(10px)}
.sheet-close:hover{background:#fff;color:#075f9e}
.sheet-grid{gap:10px;margin:10px 0 0}
.teacher-sheet .sheet-section{margin-top:10px;padding:17px 18px;border:0;border-radius:17px;background:#fff;box-shadow:0 8px 25px #173a5b0d}
.teacher-sheet .sheet-grid .sheet-section{margin-top:0;background:#f7fafc;box-shadow:none}
.teacher-sheet .sheet-section>small{color:#71859b}
.teacher-sheet .sheet-section a{color:#0870b5;text-decoration-thickness:1px;text-underline-offset:3px}
.teacher-sheet .sheet-section.related{position:relative;padding-left:22px;background:linear-gradient(120deg,#edf8ff,#f7f8ff)}
.teacher-sheet .sheet-section.related:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:0 999px 999px 0;background:linear-gradient(#08a3d4,#465ae2)}
.teacher-sheet details{margin-top:10px;padding:15px 18px;border:0;border-radius:16px;background:#fff;box-shadow:0 8px 25px #173a5b0d}
.teacher-sheet summary{display:flex;align-items:center;gap:8px;color:#0870b5;list-style:none}
.teacher-sheet summary::-webkit-details-marker{display:none}
.teacher-sheet summary:before{content:"+";width:23px;height:23px;display:grid;place-items:center;border-radius:8px;background:#e9f4fc;font-weight:900}
.teacher-sheet details[open] summary:before{content:"−"}
.teacher-materials a{border:1px solid #e3ebf3;box-shadow:0 5px 15px #173a5b0a}

@media(max-width:720px){
 .teacher-sheet{padding:9px;border-radius:28px 28px 0 0}
 .teacher-sheet:before{display:none}
 .teacher-sheet>header{min-height:132px;padding:23px 48px 22px 18px;border-radius:21px}
 .teacher-sheet>header{align-items:center}
 .sheet-avatar{width:66px;height:66px;flex-basis:66px;border-width:3px;border-radius:19px}
 .teacher-sheet header h2{font-size:20px;line-height:1.1}
 .teacher-sheet header span{font-size:9px}
 .sheet-close{right:19px;top:19px;width:34px;height:34px}
 .sheet-grid{gap:8px}
 .teacher-sheet .sheet-section,.teacher-sheet details{padding:14px}
}

/* Consulta rápida: prioriza aulas e conteúdo nas telas pequenas */
@media(max-width:720px){
 .public-header.compact{padding-top:5px}
 .public-header.compact .public-header-inner{min-height:52px;padding:6px 8px 6px 10px;border-radius:17px}
 .public-header.compact .wordmark{font-size:13px;gap:8px}
 .public-header.compact .wordmark-mark{width:32px;height:32px;border-radius:10px}
 .public-header.compact .wordmark small{font-size:6px}
 .access-toggle{min-width:36px;min-height:36px;padding:7px 9px}
 .access-popover{top:66px}
 .course-banner{min-height:116px;margin-top:7px;padding:50px 18px 16px;border-radius:21px}
 .course-banner small,.course-banner p{display:none}
 .course-banner h1{max-width:100%;margin:0;font-size:23px;line-height:1.03;letter-spacing:-.035em}
 .banner-back{left:15px;top:13px;width:37px;height:37px;border-radius:12px}
 .course-code{top:13px;right:15px;padding:8px 14px}
 .page-content{padding:18px 0 24px}
 .section-intro{margin-bottom:14px}
 .section-intro .eyebrow{display:none}
 .section-intro h1{margin:0;font-size:28px}
 .section-intro-notices,.section-intro-dates,.section-intro-forms{display:none}
 .section-intro-notices+.section-heading,.section-intro-dates+.section-heading,.section-intro-forms+.section-heading{margin-top:0}
 .filters{margin-bottom:20px;padding:8px;border-radius:17px}
 .day-list{padding-bottom:6px}
 .day-btn{padding:10px 8px}
 .select-wrap select{height:42px}
 .section-heading{margin:18px 0 12px}
 .section-heading h2{font-size:23px}
 .section-heading p{margin-top:3px}
}

@media(max-width:720px){
 .bottom-dock{border-color:#1f66b0;background:linear-gradient(135deg,#075f9eeb,#283f91ed);box-shadow:0 -10px 28px #0b315e24,inset 0 1px #ffffff2b}
 .bottom-dock button{color:#d7e9f8}
 .bottom-dock button.active{background:#fff;color:#075f9e;box-shadow:0 8px 24px #061f3c4d}
}

/* Seletor visual de turma das datas importantes */
.date-group-filter{position:relative;margin:0 0 26px}
.date-group-trigger{width:min(100%,520px);min-height:82px;padding:14px 18px;border:1px solid #ffffff38;border-radius:21px;background:linear-gradient(125deg,#075f9e,#087ac1 58%,#445ae3);color:#fff;display:grid;grid-template-columns:46px 1fr 34px;align-items:center;gap:13px;text-align:left;box-shadow:0 16px 34px #174f8b30;cursor:pointer;transition:.22s}
.date-group-trigger:hover,.date-group-trigger.open{transform:translateY(-2px);box-shadow:0 20px 40px #174f8b3d}
.date-filter-icon{width:46px;height:46px;border:1px solid #ffffff35;border-radius:15px;background:#ffffff18;display:grid;place-items:center}.date-filter-icon svg{width:22px;height:22px}
.date-group-trigger small,.date-group-trigger b{display:block}.date-group-trigger small{margin-bottom:4px;color:#ccecff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.date-group-trigger b{font:800 17px Manrope,sans-serif}
.date-filter-arrow{width:30px;height:30px;border-radius:10px;background:#ffffff18;display:grid;place-items:center;font-size:22px;transition:.2s}.date-group-trigger.open .date-filter-arrow{transform:rotate(180deg)}
.date-group-options{width:min(100%,760px);margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:21px;background:#fff;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px;box-shadow:0 20px 50px #173a5b1f;animation:datePickerIn .2s ease}
@keyframes datePickerIn{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.date-group-options button{min-height:65px;padding:10px;border:1px solid #dce6ef;border-radius:15px;background:#f7fafc;color:#17324c;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;transition:.18s}
.date-group-options button:hover,.date-group-options button.active{border-color:#77bce8;background:#eaf7ff;color:#075f9e;transform:translateY(-1px)}
.date-option-icon{width:36px;height:36px;flex:0 0 36px;border-radius:12px;background:#e4f1fb;color:#0870b5;display:grid;place-items:center;font-size:11px;font-weight:900;text-transform:uppercase}.date-group-options button.active .date-option-icon{background:#0870b5;color:#fff}
.date-group-options b,.date-group-options small{display:block}.date-group-options b{font-size:13px}.date-group-options small{margin-top:3px;color:#728196;font-size:10px}
.date-card-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:14px}.date-card-actions .date-card-groups{flex:1;min-width:0}.date-card-actions .share-card-footer{flex:0 0 auto;margin:0;padding:0;border:0}.date-card-groups{display:flex;flex-wrap:wrap;gap:5px}.date-card-groups span{padding:5px 8px;border-radius:8px;background:#e6f2fc;color:#075f9e;font-size:9px;font-weight:900}.date-card-groups span.edc{background:#fff1d7;color:#a26000}

@media(max-width:720px){
 .date-group-filter{margin-bottom:18px}
 .date-group-trigger{min-height:72px;padding:11px 13px;grid-template-columns:40px 1fr 30px;border-radius:18px}
 .date-filter-icon{width:40px;height:40px;border-radius:13px}
 .date-group-trigger small{font-size:8px}.date-group-trigger b{font-size:15px}
 .date-group-options{grid-template-columns:1fr 1fr;padding:9px;border-radius:18px}
 .date-group-options button{min-height:58px;padding:8px}
}

@media(max-width:430px){.date-group-options{grid-template-columns:1fr}}
.silent-data-refresh .lesson,.silent-data-refresh .notice-card,.silent-data-refresh .teacher-card,.silent-data-refresh .date-card{animation:none!important;opacity:1!important;transform:none!important}
.student-support-card{position:relative;border-color:#d9d0ff!important;border-top-color:#7152df!important;background:linear-gradient(145deg,#fff 12%,#f1edff 70%,#e8f4ff)!important;box-shadow:0 18px 42px rgba(73,57,162,.14)!important;overflow:hidden}.support-ribbon{display:inline-flex;align-items:center;width:max-content;margin:0 0 14px;padding:7px 11px;border-radius:999px;background:#e8e1ff;color:#5034ba;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.support-badge{padding:7px 10px;border:1px solid #d8d0fb;border-radius:999px;background:#fff;color:#5d4bc3;font-size:.72rem;font-weight:850}.support-owner{display:inline-flex!important;align-items:center;color:#4e40a8!important;font-weight:800}.support-owner:after{content:'Coordenação';margin-left:8px;padding:3px 7px;border-radius:999px;background:#e8e1ff;color:#5642bb;font-size:.62rem;text-transform:uppercase;letter-spacing:.05em}@media(max-width:560px){.support-badge{font-size:.62rem}.support-owner:after{display:none}}

/* A tipografia ampliada pertence somente à imagem PNG compartilhada. */
.lesson:not(.share-card-capturing) h3{font-size:18px}.lesson:not(.share-card-capturing) .teacher{font-size:inherit}.lesson:not(.share-card-capturing) .room b{font-size:inherit}.lesson:not(.share-card-capturing) .room small{font-size:inherit}.notice-card:not(.share-card-capturing) h3,.date-card:not(.share-card-capturing) h3{font-size:19px}.notice-card:not(.share-card-capturing) p,.date-card:not(.share-card-capturing) p{font-size:inherit}.share-card-capturing.lesson h3{margin:24px 0 12px;font-size:25px}.share-card-capturing.lesson .teacher{font-size:19px}.share-card-capturing.lesson .lesson-time{font-size:18px}.share-card-capturing.lesson .lesson-time small{font-size:14px}.share-card-capturing.lesson .tag{padding:6px 9px;font-size:12px}.share-card-capturing.lesson .room b{font-size:19px}.share-card-capturing.lesson .room small{font-size:15px}
@media(max-width:720px){.lesson:not(.share-card-capturing) h3{font-size:17px}}
.lesson .room>.share-card-footer{margin:0 0 0 auto;padding:0;border:0;flex:0 0 auto;align-self:center}

/* Legibilidade reforçada exclusivamente no PNG de compartilhamento. */
.share-card-capturing.lesson h3{font-size:28px}.share-card-capturing.lesson .teacher{font-size:21px}.share-card-capturing.lesson .lesson-time{font-size:20px}.share-card-capturing.lesson .lesson-time small{font-size:16px}.share-card-capturing.lesson .tag{padding:7px 11px;font-size:14px;font-weight:900}.share-card-capturing.lesson .room b{font-size:21px}.share-card-capturing.lesson .room small{font-size:17px}.share-card-capturing.date-card .date-day{font-size:18px}.share-card-capturing.date-card .card-label{font-size:15px;font-weight:900}.share-card-capturing.date-card h3{font-size:28px}.share-card-capturing.date-card .date-professor{font-size:21px}.share-card-capturing.date-card .date-location{font-size:20px}.share-card-capturing.date-card .date-card-groups span{font-size:14px;font-weight:900}.share-card-capturing.notice-card .notice-date{font-size:17px}.share-card-capturing.notice-card h3{font-size:27px}.share-card-capturing.notice-card p{font-size:20px}.share-card-capturing .share-card-watermark{font-size:14px}
