@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.10ev4cu2inrn-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.0i6ci0u~g4zml.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.0x1a9yg0jkq20.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.0dyk20wuvya7a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.0ctuso5mgh_i..woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_252e7ebc-module__uPBGZW__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_252e7ebc-module__uPBGZW__variable{--font-heading:"Manrope", "Manrope Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_ea55aed0-module__KujYLq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_ea55aed0-module__KujYLq__variable{--font-body:"Inter", "Inter Fallback"}
:root{--primary:#0b5d2a;--primary-deep:#063d1e;--primary-soft:#16a34a;--primary-bright:#22c55e;--accent-warm:#d9bd75;--primary-ghost:#0b5d2a1a;--surface-ground:#f5f7f8;--surface-card:#fff;--surface-overlay:#fff;--surface-hover:#edf4ee;--surface-border:#dbe5dd;--surface-muted:#eff4f0;--text-color:#1a231d;--text-color-secondary:#6d796f;--danger:#c83a2b;--focus-ring:#16a34a1f;--shadow-soft:0 3px 5px #00000005, 0 0 2px #0000000d, 0 1px 4px #00000014;--shadow-card:0 20px 50px #063d1e14;--radius-xl:8px;--radius-lg:6px;--radius-md:6px;--radius-sm:4px}html[data-theme=dark]{--primary:#0a7a3a;--primary-deep:#064320;--primary-soft:#22c55e;--primary-bright:#4ade80;--primary-ghost:#22c55e21;--surface-ground:#06100b;--surface-card:#101a13;--surface-overlay:#131f17;--surface-hover:#1a2a20;--surface-border:#5b8c6947;--surface-muted:#17241b;--text-color:#f2f8f0;--text-color-secondary:#a8baad;--focus-ring:#4ade8024;--shadow-soft:0 18px 50px #00000057;--shadow-card:0 26px 70px #00000057, 0 0 0 1px #d9bd7508, inset 0 1px 0 #ffffff06}*{box-sizing:border-box}html{scroll-behavior:smooth;height:100%}body{min-height:100%;color:var(--text-color);font-family:var(--font-body), sans-serif;background:radial-gradient(circle at top left, #16a34a1f, transparent 22%), linear-gradient(180deg, #0b5d2a08, transparent 20%), var(--surface-ground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}html[data-theme=dark] body{background:radial-gradient(circle at 8% -8%, #d9bd751f, transparent 22%), radial-gradient(circle at 88% 8%, #22c55e21, transparent 24%), radial-gradient(circle at 50% 110%, #0b5d2a38, transparent 34%), linear-gradient(180deg, #08130d 0%, var(--surface-ground) 42%, #050b08 100%)}::selection{color:#fff;background:#16a34ab8}a{color:inherit;text-decoration:none}button,input,select{font:inherit}h1,h2,h3,h4,p{margin:0}.eyebrow{color:var(--primary-soft);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.5rem;font-size:.78rem;font-weight:700}.section-copy{color:var(--text-color-secondary);line-height:1.65}.stack-sm,.stack-md{display:grid}.stack-sm{gap:.75rem}.stack-md{gap:1rem}.button{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;min-height:2.85rem;padding:.75rem 1.1rem;font-weight:600;line-height:1;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;display:inline-flex}.button:hover{box-shadow:var(--shadow-soft)}.button.primary{background:var(--primary);color:#fff}html[data-theme=dark] .button.primary{background:var(--primary-soft);color:#06100b;border-color:#4ade8038}.button.secondary{background:var(--primary-ghost);color:var(--primary-soft);border-color:#16a34a2e}html[data-theme=dark] .button.secondary,html[data-theme=dark] .button.ghost{border-color:var(--surface-border);background:#131f17b8}.button.ghost{color:var(--text-color-secondary);border-color:var(--surface-border);background:0 0}.button.danger{color:var(--danger);background:#c83a2b14;border-color:#c83a2b33}.button.small{min-height:2.4rem;padding:.55rem .85rem;font-size:.9rem}.google-auth-button{gap:.75rem}.google-auth-button .button-icon{width:1.25rem;height:1.25rem}.field{gap:.5rem;display:grid}.field span{color:var(--text-color-secondary);font-size:.98rem;font-weight:500;line-height:1.25}.field input,.field select,.field textarea,.search-form input,.inline-form select{border:1px solid var(--surface-border);border-radius:var(--radius-md);width:100%;min-height:2.9rem;color:var(--text-color);background:var(--surface-card);outline:none;padding:.75rem;transition:border-color .2s,box-shadow .2s}html[data-theme=dark] .field input,html[data-theme=dark] .field select,html[data-theme=dark] .field textarea,html[data-theme=dark] .search-form input,html[data-theme=dark] .inline-form select{background:linear-gradient(180deg, #ffffff06, transparent), var(--surface-overlay);border-color:#5b8c6957;box-shadow:inset 0 1px #ffffff06}.field input:focus,.field select:focus,.field textarea:focus,.search-form input:focus,.inline-form select:focus{box-shadow:0 0 0 .2rem var(--focus-ring);border-color:#16a34a7a}.field textarea{resize:vertical;min-height:8rem}.field input[type=datetime-local]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark] .field input[type=datetime-local]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.datepicker-grid .field{position:relative}.datepicker-grid input[type=datetime-local],.multi-select{border-color:var(--surface-border);background:var(--surface-card)}.multi-select{min-height:10rem;padding:.45rem}.multi-select option{border-radius:var(--radius-md);padding:.65rem .7rem}.split-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-top-row{grid-template-columns:1fr 1fr;align-items:stretch;gap:1.25rem;display:grid}.form-fields-col{flex-direction:column;gap:0;display:flex}.form-fields-col>.field{margin-bottom:1rem}.form-fields-col .split-fields{margin-bottom:0}.image-thumb{flex-direction:column;gap:.4rem;min-height:0;display:flex}.image-thumb__box{border:2px dashed var(--muted);border-radius:var(--radius);background:color-mix(in srgb, var(--muted) 6%, transparent);cursor:pointer;flex:1;justify-content:center;align-items:center;min-height:0;transition:border-color .15s,background .15s;display:flex;position:relative;overflow:hidden}.image-thumb__box:hover,.image-thumb__box:focus-within{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 6%, transparent)}.image-thumb__box.has-preview{background:0 0;border-style:solid}.image-thumb__box input{opacity:0;pointer-events:none;cursor:pointer;position:absolute;inset:0}.image-thumb__empty{color:var(--muted);text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:1rem;font-size:.8rem;display:flex;position:absolute;inset:0}.image-thumb__box img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.image-thumb__overlay{color:#fff;opacity:0;background:#00000080;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;font-size:.8rem;transition:opacity .15s;display:flex;position:absolute;inset:0}.image-thumb__box:hover .image-thumb__overlay,.image-thumb__box:focus-within .image-thumb__overlay{opacity:1}.form-helper{color:var(--muted);font-size:.75rem;line-height:1.3}.shimmer-bar{background:var(--primary);z-index:10;height:3px;position:absolute;top:0;left:0;right:0;overflow:hidden}.shimmer-bar:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffffb3 50%,#0000 100%);width:40%;animation:1.2s ease-in-out infinite shimmer-sweep;position:absolute;inset:0}@keyframes shimmer-sweep{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media (max-width:768px){.form-top-row{grid-template-columns:1fr;align-items:start}.image-thumb{height:auto}.image-thumb__box{aspect-ratio:16/9;width:100%;height:auto;min-height:0}}.form-message{border-radius:var(--radius-lg);margin:1rem 0 1.25rem;padding:.95rem 1rem;font-weight:500}.form-message.error{color:#fbb4ab;background:#c83a2b24}html[data-theme=light] .form-message.error,:root .form-message.error{color:var(--danger)}.form-message.success{color:var(--primary-soft);background:#16a34a1f}.field-hint,.error-text,.auth-footnote{color:var(--text-color-secondary);font-size:.95rem}.error-text{color:var(--danger)}.divider{color:var(--text-color-secondary);text-align:center;margin:1.2rem 0;position:relative}.divider:before,.divider:after{background:var(--surface-border);content:"";width:calc(50% - 1.2rem);height:1px;position:absolute;top:50%}.divider:before{left:0}.divider:after{right:0}.auth-page{isolation:isolate;background:url(/img/Foto%20Frontis%20UNSM.jpg) 50%/cover fixed;grid-template-columns:minmax(0,1fr) minmax(420px,.78fr);align-items:stretch;min-height:100dvh;padding:0;display:grid;position:relative;overflow:hidden}.auth-page:before{z-index:-2;content:"";background:linear-gradient(90deg,#0a100d94,#0a100d33 48%,#f5f7f833),linear-gradient(#0a100d14,#0a100d3d);position:absolute;inset:0}.auth-page:after{z-index:-1;content:"";background:linear-gradient(#0000 65%,#0a100d3d);position:absolute;inset:0}html[data-theme=dark] .auth-page:before{background:linear-gradient(90deg,#0a100db3,#0a100d6b 48%,#11181557),linear-gradient(#0a100d2e,#0a100d61)}.auth-page.compact{grid-template-columns:1fr;place-items:center;padding:2rem;display:grid}.auth-brand{color:#eff8f0;background:0 0;flex-direction:column;justify-content:space-between;gap:2rem;min-height:100dvh;padding:clamp(2rem,4vw,4rem);display:flex;position:relative;overflow:hidden}.auth-brand:before{content:none}.auth-brand>*{z-index:1;position:relative}.auth-theme-toggle{z-index:10;justify-content:flex-end;gap:.75rem;display:flex;position:fixed;top:clamp(1rem,2vw,1.75rem);right:clamp(1rem,2vw,1.75rem)}.auth-logo{align-items:center;min-height:3.5rem;display:inline-flex}.logo-orbit{border:3px solid;border-radius:50%;width:2.7rem;height:2.7rem;position:relative}.logo-orbit:before,.logo-orbit:after{content:"";border:2px solid;border-radius:50%;position:absolute;inset:.35rem}.logo-orbit:after{border-top:0;height:.7rem;inset:auto .2rem .2rem}.brand-logo{align-items:center;display:inline-flex}.brand-logo img{width:100%;height:auto;display:block}.brand-logo--topbar{width:min(15rem,38vw)}.brand-logo--auth{width:min(16rem,56vw)}.auth-brand-copy{text-shadow:0 12px 34px #0000004d;max-width:32rem}.auth-brand-copy h1{font-family:var(--font-heading), sans-serif;font-size:clamp(3rem,5vw,4.6rem);line-height:.96}.auth-brand-copy p:not(.eyebrow){color:#eff8f0cc;margin-top:1rem;line-height:1.7}.auth-frame{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-left:0;place-items:center;min-height:100dvh;padding:clamp(5rem,7vw,7rem) clamp(2rem,5vw,5rem);display:grid}html[data-theme=dark] .auth-page.compact{background:url(/img/Foto%20Frontis%20UNSM.jpg) 50%/cover fixed}html[data-theme=dark] .auth-frame{background:0 0}.auth-gradient-frame{border-radius:var(--radius-xl);width:min(100%,33rem);box-shadow:none;background:0 0;padding:0}.auth-card{border-radius:var(--radius-xl);-webkit-backdrop-filter:none;backdrop-filter:none;background:#f7faf8;border:1px solid #0b5d2a38;animation:.55s cubic-bezier(.2,.8,.2,1) fade-up;box-shadow:0 24px 70px #0a100d33}html[data-theme=dark] .auth-gradient-frame{box-shadow:0 24px 70px #00000057}html[data-theme=dark] .auth-card{background:radial-gradient(circle at 100% 0%, #22c55e14, transparent 24%), linear-gradient(180deg, #ffffff07, transparent), var(--surface-card);border-color:#4ade8047}.auth-card-sakai{padding:2.6rem 2.4rem}.auth-card.wide{width:100%}.auth-card h2,.selection-card h1,.dashboard-card h1,.panel h1,.panel h2,.landing-copy h1{font-family:var(--font-heading), sans-serif}.panel h1,.panel h2,.card.panel h2{margin:0 0 1rem;font-family:inherit;font-size:1.25rem;font-weight:500;line-height:1.2}.panel-head h1,.panel-head h2{margin:0}.auth-avatar{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-soft));border-radius:50%;justify-content:center;align-items:center;width:3.3rem;height:3.3rem;margin-bottom:1rem;font-weight:800;display:inline-flex}.auth-avatar svg{width:1.5rem;height:1.5rem}.auth-submit{width:100%}.auth-footnote a{color:var(--primary-soft);font-weight:700}.selection-card{width:min(100%,44rem)}.selection-card-sakai{border:1px solid var(--surface-border);border-radius:var(--radius-xl);background:var(--surface-card);box-shadow:var(--shadow-card);padding:2rem}.selection-header-actions{justify-content:flex-end;gap:.75rem;margin-bottom:.75rem;display:flex}.page-floating-controls{z-index:30;gap:.75rem;display:flex;position:fixed;top:1.35rem;right:1.35rem}.language-switcher{position:relative}.language-switcher-trigger{border:1px solid var(--surface-border);min-width:3.4rem;height:3rem;color:var(--text-color);background:var(--surface-card);box-shadow:var(--shadow-soft);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:0 .9rem;transition:transform .2s,background-color .2s,border-color .2s;display:inline-flex}.language-switcher-trigger:hover{background:var(--surface-hover);transform:translateY(-1px)}.language-switcher-trigger span{letter-spacing:.08em;font-size:.8rem;font-weight:800}.language-switcher-trigger .language-flag,.language-switcher-option .language-flag{letter-spacing:0;font-size:1rem;line-height:1}.language-switcher-trigger svg{width:1rem;height:1rem}.language-switcher-panel{border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--surface-overlay);min-width:9.5rem;box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;transform-origin:100% 0;gap:.35rem;padding:.5rem;transition:opacity .18s,transform .18s;display:grid;position:absolute;top:calc(100% + .65rem);right:0;transform:translateY(-6px)scale(.98)}.language-switcher-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.language-switcher-option{border-radius:var(--radius-sm);width:100%;min-height:2.6rem;color:var(--text-color-secondary);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.65rem;padding:.7rem .85rem;transition:background-color .2s,color .2s;display:flex}.language-switcher-option span:last-child{font-weight:700}.language-switcher-option:hover,.language-switcher-option.active{color:var(--primary-soft);background:#16a34a14}.role-grid{grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:.85rem;margin-top:1rem;display:grid}.role-option{border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:linear-gradient(145deg, #16a34a0e, transparent 52%), var(--surface-card);cursor:pointer;flex-direction:column;align-items:flex-start;gap:.8rem;min-height:10rem;padding:1rem;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s;display:flex;position:relative;overflow:hidden}.role-option:hover{box-shadow:var(--shadow-soft);border-color:#16a34a57;transform:translateY(-2px)}.role-option:has(input:checked){background:linear-gradient(145deg, #16a34a24, transparent 58%), var(--surface-card);box-shadow:0 0 0 .2rem var(--focus-ring), var(--shadow-soft);border-color:#16a34a9e}.role-option:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:3px}.role-option input[type=radio]{clip:rect(0, 0, 0, 0);clip-path:inset(50%);opacity:0;white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.role-option__icon,.role-option__check{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.role-option__icon{border-radius:var(--radius-lg);width:2.85rem;height:2.85rem;color:var(--primary-soft);background:#16a34a17;border:1px solid #16a34a2e}.role-option__icon svg{width:1.35rem;height:1.35rem}.role-option__body{gap:.35rem;min-width:0;padding-right:1.8rem;display:grid}.role-option__body strong{font-size:1.05rem;line-height:1.2}.role-option__body small{color:var(--text-color-secondary);font-size:.88rem;line-height:1.4}.role-option__check{border:1px solid var(--surface-border);background:var(--surface-overlay);border-radius:999px;width:1.35rem;height:1.35rem;position:absolute;top:1rem;right:1rem}.role-option__check:after{content:"";opacity:0;border:.12rem solid #fff;border-width:0 .12rem .12rem 0;width:.44rem;height:.72rem;margin-top:-.1rem;transition:opacity .16s,transform .16s;transform:rotate(45deg)scale(.75)}.role-option:has(input:checked) .role-option__icon{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-soft));border-color:#0000}.role-option:has(input:checked) .role-option__check{border-color:var(--primary);background:var(--primary)}.role-option:has(input:checked) .role-option__check:after{opacity:1;transform:rotate(45deg)scale(1)}html[data-theme=dark] .role-option{background:linear-gradient(145deg, #4ade8014, transparent 52%), var(--surface-card)}html[data-theme=dark] .role-option__icon{background:#22c55e1c;border-color:#4ade802e}html[data-theme=dark] .role-option__check{background:#101a13e0}html[data-theme=dark] .role-option:has(input:checked){background:linear-gradient(145deg, #22c55e29, transparent 58%), var(--surface-card)}@media (prefers-reduced-motion:reduce){.role-option,.role-option__check:after{transition:none}.role-option:hover{transform:none}}.role-option input[type=radio]{box-shadow:none;border:0;padding:0}.verification-form{margin-top:1.25rem}.verification-form input[name=verification_code]{text-align:center;letter-spacing:.18em;min-height:3.25rem;font-size:1.2rem;font-weight:800}.landing-page{padding:2rem}.landing-hero{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:1.5rem;min-height:calc(100vh - 4rem);display:grid}.landing-copy,.landing-card-grid,.dashboard-card,.panel,.role-card{border:1px solid var(--surface-border);border-radius:var(--radius-xl);background:var(--surface-card);box-shadow:var(--shadow-card);animation:.45s cubic-bezier(.2,.8,.2,1) fade-up}html[data-theme=dark] .landing-copy,html[data-theme=dark] .landing-card-grid,html[data-theme=dark] .dashboard-card,html[data-theme=dark] .panel,html[data-theme=dark] .role-card,html[data-theme=dark] .management-card,html[data-theme=dark] .offer-directory-card,html[data-theme=dark] .offer-hero-card,html[data-theme=dark] .selection-card-sakai{background:radial-gradient(circle at 100% 100%, #22c55e14, transparent 28%), linear-gradient(180deg, #ffffff07, #ffffff01), var(--surface-card);border-color:var(--surface-border)}.landing-copy{flex-direction:column;justify-content:center;padding:3rem;display:flex}.landing-copy h1{max-width:12ch;font-size:clamp(3rem,6vw,5rem);line-height:.94}.landing-copy p:not(.eyebrow){max-width:56ch;color:var(--text-color-secondary);margin-top:1rem;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:.9rem;margin-top:2rem;display:flex}.landing-card-grid{align-content:end;gap:1rem;padding:1rem;display:grid}.metric-card{border-radius:var(--radius-lg);background:linear-gradient(155deg, #16a34a1f, transparent 60%), var(--surface-card);border:1px solid var(--surface-border);min-height:11rem;padding:1.4rem}html[data-theme=dark] .metric-card{background:radial-gradient(circle at 92% 88%, #4ade801f, transparent 34%), linear-gradient(180deg, #ffffff07, transparent), var(--surface-card)}.metric-card span{color:var(--text-color-secondary);display:block}.metric-card strong{font-family:var(--font-heading), sans-serif;margin-top:.85rem;font-size:1.35rem;line-height:1.25;display:block}.public-portal{color:#f7fbf8;background:var(--primary-deep);min-height:100vh}.public-portal-nav{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#063d1ed6;border-bottom:1px solid #ffffff1f;align-items:center;gap:1.25rem;min-height:5rem;padding:.9rem clamp(1rem,4vw,3rem);display:flex;position:sticky;top:0}.public-portal-brand{filter:drop-shadow(0 12px 22px #00000038);align-items:center;width:min(17rem,34vw);display:inline-flex}.public-portal-brand .brand-logo{width:100%}.public-portal-links{align-items:center;gap:1.1rem;margin-left:auto;display:flex}.public-portal-links a,.public-portal-controls .shell-icon-button{color:#ffffffd1}.public-portal-links a{font-size:.92rem;font-weight:800}.public-portal-links a:hover{color:#fff}.public-portal-controls{align-items:center;gap:.75rem;display:flex}.public-portal-controls .language-switcher-trigger{color:#fff;box-shadow:none;background:#ffffff1f;border-color:#ffffff2e}.public-hero-wrapper{background:linear-gradient(90deg,#063d1ee6 0%,#063d1eb8 34%,#063d1e33 70%,#f5f7f8c2 100%),url(/img/Foto%20Frontis%20UNSM.jpg) 50%/cover no-repeat;flex-direction:column;min-height:calc(100vh - 5rem);display:flex;position:relative}.public-hero-wrapper:after{content:"";pointer-events:none;background:linear-gradient(#0000,#063d1eb8);height:38%;position:absolute;inset:auto 0 0}.public-hero{flex:1;grid-template-columns:minmax(0,1.02fr) minmax(300px,.62fr);align-items:end;gap:clamp(1.2rem,4vw,3rem);padding:clamp(2rem,5vw,5rem) clamp(1rem,5vw,5rem) clamp(4rem,8vw,8rem);display:grid;position:relative}.public-hero-copy,.public-hero-panel{z-index:1;position:relative}.public-hero-copy{max-width:52rem;animation:.5s cubic-bezier(.2,.8,.2,1) fade-up}.public-hero-copy .eyebrow,.public-feature-card span,.public-section-head .eyebrow{color:#9df2ad}.public-hero-copy h1{color:#fff;letter-spacing:-.08em;max-width:11ch;font-size:clamp(3.5rem,8.6vw,7.3rem);line-height:.9}.public-hero-copy p:not(.eyebrow){color:#ffffffd6;max-width:42rem;margin-top:1.25rem;font-size:clamp(1rem,1.7vw,1.22rem);line-height:1.7}.public-hero-actions{flex-wrap:wrap;gap:.9rem;margin-top:2rem;display:flex}.public-hero-actions .button.secondary{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1f;border-color:#ffffff57}.public-hero-panel{gap:.9rem;display:grid}.public-feature-card{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#063d1eb8;border:1px solid #ffffff2e;min-height:8.8rem;padding:1.2rem;animation:.45s cubic-bezier(.2,.8,.2,1) fade-up;box-shadow:0 18px 50px #0003}.public-feature-card strong{color:#fff;font-family:var(--font-heading), sans-serif;margin-top:.65rem;font-size:1.2rem;line-height:1.25;display:block}.public-offer-section{color:var(--text-color);background:radial-gradient(circle at top left, #16a34a1f, transparent 34%), var(--surface-ground);padding:clamp(2rem,5vw,4.5rem) clamp(1rem,5vw,5rem)}.public-section-head{justify-content:space-between;align-items:flex-end;gap:1rem;max-width:1180px;margin:0 auto 1.3rem;display:flex}.public-section-head h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1}.public-offer-section .portal-offer-grid{max-width:1180px;margin:0 auto}.public-offer-section .offer-directory-card{animation:.45s cubic-bezier(.2,.8,.2,1) fade-up}.layout-topbar{z-index:997;background:var(--surface-card);width:100%;height:5rem;box-shadow:var(--shadow-soft);align-items:center;padding:0 2rem;transition:background-color .24s,box-shadow .24s;display:flex;position:fixed;top:0;left:0}html[data-theme=dark] .layout-topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(90deg,#d9bd7514,#0000 18%),#08130deb;border-bottom:1px solid #d9bd751a;box-shadow:0 18px 45px #0000004d,inset 0 -1px #4ade800d}.layout-topbar-logo{align-items:center;width:300px;transition:width .2s,color .2s;display:flex}.layout-menu-button{margin-left:2rem;transition:transform .2s}.shell-icon-button{width:3rem;height:3rem;color:var(--text-color-secondary);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;transition:background-color .2s,color .2s;display:inline-flex}.shell-icon-button:hover{color:var(--text-color);background:var(--surface-hover)}.shell-icon-button svg,.layout-menuitem-icon svg,.stats-card__icon svg{width:1.35rem;height:1.35rem}.layout-topbar-menu{align-items:center;gap:.9rem;margin-left:auto;display:flex}.layout-topbar-menu-button{display:none}.shell-profile{position:relative}.shell-profile-trigger{cursor:pointer;background:0 0;border:0;align-items:center;gap:.65rem;padding:0;display:flex}.shell-user-block{flex-direction:column;min-width:10rem;display:flex}.shell-user-block strong{font-size:.96rem}.shell-user-block span{color:var(--text-color-secondary);text-transform:capitalize;font-size:.82rem}.shell-role-chip{color:var(--primary-soft);background:var(--primary-ghost)}.shell-profile-panel{border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--surface-overlay);min-width:14rem;box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;transform-origin:100% 0;gap:.4rem;padding:.65rem;transition:opacity .18s,transform .18s;display:grid;position:absolute;top:calc(100% + .85rem);right:0;transform:translateY(-8px)scale(.98)}.shell-profile-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.shell-profile-link{border-radius:var(--radius-sm);color:var(--text-color-secondary);align-items:center;gap:.75rem;padding:.8rem .9rem;display:flex}.shell-profile-summary{border-bottom:1px solid var(--surface-border);color:var(--text-color-secondary);text-transform:capitalize;align-items:center;gap:.75rem;margin-bottom:.25rem;padding:.45rem .45rem .8rem;font-size:.92rem;display:flex}.button-icon{flex-shrink:0;width:1.15rem;height:1.15rem}.shell-profile-link:hover{color:var(--text-color);background:var(--surface-hover)}.layout-sidebar{z-index:999;border-radius:var(--radius-xl);background:var(--surface-overlay);width:300px;height:calc(100vh - 9rem);box-shadow:var(--shadow-soft);transition:transform .24s,left .24s,width .24s,opacity .24s;position:fixed;top:7rem;left:2rem;overflow:hidden}html[data-theme=dark] .layout-sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#ffffff06,#0000 38%),#101a13e0;border:1px solid #5b8c6938;box-shadow:0 26px 70px #00000052,inset 0 1px #ffffff06}.layout-sidebar-scroll{height:100%;padding:.5rem 1.5rem;overflow-y:auto}.layout-menu{margin:0;padding:0;list-style:none}.layout-root-menuitem>.layout-menuitem-root-text{color:var(--text-color);text-transform:uppercase;margin:.75rem 0;font-size:.86rem;font-weight:700}.layout-menu ul{margin:0;padding:0;list-style:none}.layout-menu ul a,.layout-submenu summary{border-radius:var(--radius-lg);color:var(--text-color-secondary);cursor:pointer;align-items:center;gap:.8rem;padding:.85rem 1rem;transition:background-color .2s,color .2s,transform .2s;display:flex}.layout-submenu summary{list-style:none}.layout-submenu summary::-webkit-details-marker{display:none}.layout-menu ul a:hover,.layout-submenu summary:hover{background:var(--surface-hover);transform:translate(2px)}.layout-menu ul a.active-route,.layout-submenu summary.active-route{color:var(--primary-soft);background:#16a34a14;font-weight:700;box-shadow:inset 0 0 0 1px #16a34a2e}html[data-theme=dark] .layout-menu ul a.active-route,html[data-theme=dark] .layout-submenu summary.active-route{color:var(--primary-bright);background:linear-gradient(90deg,#22c55e29,#22c55e0f),#131f17bd;box-shadow:inset 0 0 0 1px #4ade803d,0 10px 28px #0000001f}.layout-submenu-chevron{width:.75rem;height:.75rem;margin-left:auto;transition:transform .2s;position:relative}.layout-submenu-chevron:before,.layout-submenu-chevron:after{content:"";background:currentColor;border-radius:999px;width:.48rem;height:.12rem;position:absolute;top:.35rem}.layout-submenu-chevron:before{left:0;transform:rotate(45deg)}.layout-submenu-chevron:after{right:0;transform:rotate(-45deg)}.layout-submenu[open] .layout-submenu-chevron{transform:rotate(180deg)}.layout-submenu-list{border-left:1px solid var(--surface-border);gap:.25rem;display:grid;margin:.35rem 0 .35rem 1.25rem!important;padding-left:.75rem!important}.layout-submenu-list a{border-radius:var(--radius-md);padding:.7rem .85rem;font-size:.95rem}.layout-submenu-dot{background:var(--surface-border);border-radius:999px;flex-shrink:0;width:.48rem;height:.48rem}.layout-submenu-list a.active-route .layout-submenu-dot{background:var(--primary-soft)}.layout-main-container{margin-left:300px;padding-top:7rem;padding-left:2rem;transition:margin-left .24s,padding-left .24s}.layout-main{padding:0 2rem 2rem}.layout-mask{display:none}.admin-page,.dashboard-grid{gap:1.5rem;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.stats-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.management-page{gap:1.75rem}.management-hero{grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);align-items:end;gap:1.5rem;display:grid;overflow:hidden}.management-hero h1{max-width:12ch;font-size:clamp(2.75rem,5vw,4.8rem);line-height:.94}.management-hero .section-copy{max-width:52rem;margin-top:1rem}.management-hero__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.management-hero__stats span{border:1px solid var(--surface-border);border-radius:var(--radius-lg);min-height:7rem;color:var(--text-color-secondary);background:var(--surface-muted);align-content:end;gap:.35rem;padding:1rem;display:grid}.management-hero__stats strong{color:var(--text-color);font-family:var(--font-heading), sans-serif;font-size:2.2rem;line-height:1}.management-section{gap:1rem;display:grid}.management-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.management-card{border:1px solid var(--surface-border);border-radius:var(--radius-xl);min-height:13rem;color:var(--text-color);background:var(--surface-card);box-shadow:var(--shadow-card);grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:1.25rem;transition:border-color .2s,box-shadow .2s,transform .2s;display:grid;position:relative;overflow:hidden}.management-card:after{content:"";background:radial-gradient(circle,#16a34a29,#0000 68%);border-radius:999px;width:7rem;height:7rem;position:absolute;bottom:-1.6rem;right:-1.6rem}.management-card:hover{box-shadow:var(--shadow-card), 0 16px 32px #0b5d2a1f;border-color:#16a34a57;transform:translateY(-3px)}.management-card__icon{border-radius:var(--radius-lg);width:3.4rem;height:3.4rem;color:var(--primary-soft);background:var(--primary-ghost);justify-content:center;align-items:center;display:inline-flex}.management-card__icon svg{width:1.45rem;height:1.45rem}.management-card__content,.management-card__metric{z-index:1;position:relative}.management-card__content{align-content:start;gap:.55rem;display:grid}.management-card__content strong{font-family:var(--font-heading), sans-serif;font-size:1.35rem;line-height:1.12}.management-card__content small,.management-card__metric small{color:var(--text-color-secondary);line-height:1.55}.management-card__metric{border-top:1px solid var(--surface-border);grid-column:1/-1;align-self:end;align-items:baseline;gap:.55rem;padding-top:1.25rem;display:flex}.management-card__metric strong{font-family:var(--font-heading), sans-serif;font-size:2rem;line-height:1}html[data-theme=dark] .management-hero__stats span{background:linear-gradient(#ffffff05,#0000),#17241bc7}html[data-theme=dark] .management-card:after{background:radial-gradient(circle,#4ade8026,#0000 68%)}.panel-grid{grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);gap:1.25rem;display:grid}.offer-workspace{align-items:start}.course-mode .offer-workspace{grid-template-columns:minmax(360px,1fr) minmax(300px,.9fr);gap:1rem}.course-directory-full{padding:2rem}.course-directory-toolbar{align-items:center}.offer-editor-card,.offer-directory-panel{overflow:hidden}.course-mode .offer-editor-card{border-color:var(--surface-border);background:var(--surface-card);padding:2rem}.offer-editor-head,.offer-directory-head{border-bottom:0;padding-bottom:0}.offer-editor-title{max-width:none;font-family:inherit;font-size:1.25rem;font-weight:500;line-height:1.2}.course-mode .offer-form{gap:1rem}.course-mode .offer-editor-head .eyebrow,.course-mode .offer-directory-head .eyebrow{display:none}.course-mode .field{gap:.5rem}.course-mode .field>span{color:var(--text-color-secondary);font-size:.98rem;font-weight:500;line-height:1.25}.course-mode .field input,.course-mode .field select{border-radius:var(--radius-md);min-height:2.9rem;padding:.75rem;font-size:1rem}.course-mode .readonly-field{border-color:var(--surface-border);background:var(--surface-card);align-content:center;min-height:2.9rem}.course-mode .readonly-field span{color:var(--text-color-secondary);letter-spacing:0;text-transform:none;font-size:.98rem;font-weight:500}.course-mode .readonly-field strong{font-size:1rem;font-weight:500;line-height:1.25}.course-mode .offer-type-row{align-items:end}.course-mode .offer-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-mode .offer-fees-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.course-mode .offer-form .button.primary{justify-self:start;width:auto;min-height:2.85rem;margin-top:.5rem;padding-inline:1.25rem;font-size:1rem;font-weight:700}.course-mode .offer-directory-panel,.program-mode .offer-directory-panel{padding:2rem}.course-directory-full .offer-directory{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}.course-mode .offer-directory-head h2,.program-mode .offer-directory-head h2{font-family:inherit;font-size:1.25rem;font-weight:500;line-height:1.2}.course-mode .offer-list-card{border-radius:var(--radius-lg);box-shadow:none;gap:.85rem;padding:1rem;transition:border-color .2s,box-shadow .2s;display:grid}.course-mode .offer-list-card:hover{border-color:var(--primary-soft);box-shadow:var(--shadow-soft)}.course-mode .offer-list-card h3{font-family:inherit;font-size:1.15rem;font-weight:600;line-height:1.2}.course-mode .offer-list-card .section-copy{color:var(--text-color-secondary);margin:0;font-size:.9rem;line-height:1.5}.course-mode .offer-directory-card__meta{gap:.5rem;margin:0}.course-mode .offer-directory-card__meta span{border:1px solid var(--surface-border);background:var(--surface-muted);border-radius:999px;padding:.3rem .55rem;font-size:.84rem;font-weight:600}html[data-theme=dark] .course-mode .offer-list-card:hover{box-shadow:0 14px 30px #00000038}.modal-backdrop{z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a100d80;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.modal-panel{border:1px solid var(--surface-border);border-radius:var(--radius-xl);background:var(--surface-overlay);width:min(100%,58rem);max-height:min(88dvh,52rem);box-shadow:var(--shadow-card);padding:1.5rem;overflow:auto}.modal-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.modal-head h2{font-family:inherit;font-size:1.25rem;font-weight:500;line-height:1.2}.modal-close{border:1px solid var(--surface-border);width:2.4rem;min-width:2.4rem;height:2.4rem;color:var(--text-color-secondary);background:var(--surface-card);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.modal-close:hover{color:var(--text-color);background:var(--surface-hover);border-color:#16a34a66}.modality-radio-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.modality-radio-group.three-options{grid-template-columns:repeat(3,minmax(0,1fr))}.modality-radio-option{border:1px solid var(--surface-border);border-radius:var(--radius-md);min-height:2.9rem;color:var(--text-color);background:var(--surface-card);cursor:pointer;align-items:center;gap:.75rem;padding:.75rem;transition:border-color .2s,box-shadow .2s,background-color .2s;display:flex}.modality-radio-option:has(input:checked){background:var(--primary-ghost);box-shadow:0 0 0 .2rem var(--focus-ring);border-color:#16a34a94}.modality-radio-option input[type=radio],.modality-radio-option input[type=checkbox]{border:1px solid var(--surface-border);width:1.05rem;min-width:1.05rem;height:1.05rem;min-height:1.05rem;accent-color:var(--primary);box-shadow:none;background:0 0;padding:0}.modality-radio-option input[type=radio]{border-radius:50%}.modality-radio-option input[type=checkbox]{border-radius:var(--radius-sm)}.modality-radio-option strong{font-size:1rem;font-weight:700;line-height:1.2}.course-create-modal .offer-form{gap:1rem}.base-offer-form{gap:1.1rem}.base-offer-form textarea{min-height:6.5rem}.course-create-modal .field>span{color:var(--text-color);font-weight:700}.modality-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.modality-choice-card{border:1px solid var(--surface-border);border-radius:var(--radius-lg);min-height:12rem;color:var(--text-color);background:var(--surface-card);cursor:pointer;gap:.65rem;padding:1rem;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s;display:grid;position:relative}.modality-choice-card:hover{border-color:#16a34a61;transform:translateY(-1px)}.modality-choice-card:has(input:checked){background:var(--primary-ghost);box-shadow:0 0 0 .2rem var(--focus-ring);border-color:#16a34aad}.modality-choice-card input{width:1.15rem;min-width:1.15rem;height:1.15rem;min-height:1.15rem;accent-color:var(--primary);box-shadow:none;padding:0;position:absolute;top:1rem;right:1rem}.choice-icon{border-radius:var(--radius-md);width:2.8rem;height:2.8rem;color:var(--primary);background:var(--primary-ghost);border:1px solid #16a34a38;place-items:center;display:inline-grid}.choice-icon svg{width:1.45rem;height:1.45rem}.modality-choice-card strong{align-self:end;padding-right:1.6rem;font-size:1rem;line-height:1.2}.modality-choice-card small{color:var(--text-color-secondary);font-size:.88rem;line-height:1.45}.course-pick-list{gap:.7rem;display:grid}.course-pick-card{border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--surface-card);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.8rem;padding:.9rem;transition:border-color .2s,background-color .2s,box-shadow .2s;display:grid}.course-pick-card:has(input:checked){background:var(--primary-ghost);box-shadow:0 0 0 .16rem var(--focus-ring);border-color:#16a34a99}.course-pick-card input{width:1.1rem;min-width:1.1rem;height:1.1rem;min-height:1.1rem;accent-color:var(--primary);box-shadow:none;margin-top:.2rem;padding:0}.course-pick-card span{gap:.2rem;display:grid}.course-pick-card strong{color:var(--text-color);font-size:.98rem}.course-pick-card small{color:var(--text-color-secondary);font-size:.85rem;line-height:1.4}html[data-theme=dark] .modal-backdrop{background:#000000ad}html[data-theme=dark] .modal-panel,html[data-theme=dark] .modal-close{background:var(--surface-overlay)}html[data-theme=dark] .modality-radio-option,html[data-theme=dark] .modality-choice-card,html[data-theme=dark] .course-pick-card{background:linear-gradient(180deg, #ffffff06, transparent), var(--surface-overlay)}.detail-grid{flex-direction:column;gap:1.25rem;display:flex}.dashboard-grid{grid-template-columns:1.15fr .85fr}.dashboard-card,.panel,.role-card{padding:1.5rem}.mini-stat-card{position:relative;overflow:hidden}html[data-theme=dark] .mini-stat-card:before{pointer-events:none;content:"";background:linear-gradient(90deg,#d9bd750b,#0000 36%),radial-gradient(circle at 94% 82%,#4ade801a,#0000 25%);position:absolute;inset:0}.mini-stat-card:after{content:"";background:radial-gradient(circle,#16a34a29,#0000 70%);border-radius:999px;width:5rem;height:5rem;position:absolute;inset:auto -1rem -1rem auto}html[data-theme=dark] .mini-stat-card:after{background:radial-gradient(circle,#4ade802e,#0000 70%)}.mini-stat-card span{color:var(--text-color-secondary);font-size:.92rem}.mini-stat-card strong{font-family:var(--font-heading), sans-serif;margin-top:.55rem;font-size:2rem;line-height:1;display:block}.mini-stat-card p{color:var(--text-color-secondary);margin-top:.55rem;line-height:1.5}.panel-head{justify-content:space-between;align-items:flex-start;gap:3rem;margin-bottom:1rem;display:flex}.panel-head.compact{margin-bottom:.75rem}.events-page .events-directory-actions{flex-direction:column;flex:1;align-items:stretch;gap:.75rem;min-width:0;display:flex}.events-page .events-directory-search{width:100%;max-width:none}.events-page .events-directory-search input{flex:1;min-width:0}.events-page .events-directory-actions>button{align-self:flex-end}.sub-vent-tabs{border-bottom:1px solid var(--surface-border);gap:.5rem;margin-bottom:.5rem;display:flex}.sub-vent-tab{border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--text-color-secondary);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.65rem 1rem;font-weight:600;text-decoration:none}.sub-vent-tab:hover{color:var(--text-color);background:#00000005}html[data-theme=dark] .sub-vent-tab:hover{background:#ffffff0a}.sub-vent-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:0 0}.user-picker-form{max-width:32rem}.user-picker-list{border:1px solid var(--surface-border);border-radius:var(--radius-md);flex-direction:column;gap:.4rem;max-height:22rem;padding:.5rem;display:flex;overflow-y:auto}.user-picker-row{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:.6rem;padding:.5rem .65rem;display:flex}.user-picker-row:hover{background:#00000008}html[data-theme=dark] .user-picker-row:hover{background:#ffffff0a}.user-picker-row.selected{border-color:var(--primary);background:var(--primary-ghost)}.user-picker-row span{flex-direction:column;display:flex}.user-picker-row small{color:var(--text-color-secondary);font-size:.85rem}.search-form{gap:.75rem;width:min(100%,28rem);display:flex}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{border-top:1px solid var(--surface-border);text-align:left;vertical-align:top;padding:1rem .75rem}.data-table th{color:var(--text-color-secondary);font-weight:600}html[data-theme=dark] .data-table th{color:#b9c9bc}html[data-theme=dark] .data-table tbody tr{transition:background-color .18s}html[data-theme=dark] .data-table tbody tr:hover{background:#22c55e0a}.data-table td span{color:var(--text-color-secondary);margin-top:.35rem;font-size:.92rem;display:block}.badge-row,.role-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.status-badge{color:var(--primary-soft);background:var(--primary-ghost);border-radius:999px;justify-content:center;align-items:center;padding:.45rem .8rem;font-size:.88rem;font-weight:700;display:inline-flex}html[data-theme=dark] .status-badge{color:var(--primary-bright);background:#22c55e1a;border:1px solid #4ade802e}.status-badge.muted{color:var(--text-color-secondary);background:var(--surface-muted)}html[data-theme=dark] .status-badge.muted{background:#17241bb8;border-color:#a8baad24}.status-badge.is-positive{color:#166534;background:#22c55e24;border:1px solid #22c55e47}html[data-theme=dark] .status-badge.is-positive{color:#86efac;background:#22c55e2e;border-color:#4ade8052}.certificados-page .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.certificados-page .mini-stat-card span{align-items:center;gap:.5rem;display:inline-flex}.certificados-page .mini-stat-card span svg{width:1rem;height:1rem}.sliders-admin-page .panel-head-actions{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.sliders-admin-page .panel-head-actions .search-form{flex:1;min-width:0}.certificados-page .panel-head-actions{flex:1;justify-content:flex-end;align-items:center;gap:1rem;min-width:0;display:flex}.certificados-page .search-form{flex:1;width:100%;max-width:none}.certificados-detail-page .cert-tabs{background:var(--surface-muted);border:1px solid var(--surface-border);border-radius:999px;flex-wrap:wrap;gap:.25rem;width:fit-content;max-width:100%;padding:.25rem;display:flex}.certificados-detail-page .cert-tab{color:var(--text-color-secondary);border-radius:999px;padding:.5rem 1.1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.certificados-detail-page .cert-tab:hover{color:var(--text-color-primary);background:#16a34a14}.certificados-detail-page .cert-tab.active{background:var(--primary-color);color:#fff;box-shadow:0 6px 18px -10px #16a34a99}html[data-theme=dark] .certificados-detail-page .cert-tab.active{background:var(--primary-bright);color:#0d1f15}.cert-section-form{flex-wrap:nowrap;align-items:center;gap:.75rem;max-width:none;display:flex}.cert-section-form .field{flex-direction:row;flex:0 auto;align-items:center;gap:.6rem;margin:0;display:flex}.cert-section-form .field>span{white-space:nowrap;color:var(--text-color-secondary);margin:0;font-weight:600}.cert-section-form .field>select{flex:0 auto;width:auto;min-width:14rem;max-width:22rem}.cert-section-form button[type=submit]{flex-shrink:0}.cert-create-form{padding:1.25rem 1.5rem 0}.cert-create-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.cert-create-row .field{flex-direction:column;flex:none;gap:.4rem;min-width:11rem;display:flex}.cert-create-row .field>span{color:var(--text-color-secondary);font-size:.92rem;font-weight:500}.cert-create-row .field>select{width:auto;min-width:10rem}.cert-create-search{flex:16rem;gap:.4rem;min-width:14rem;display:flex}.cert-create-search input[type=search]{border:1px solid var(--surface-border);border-radius:var(--radius-md);min-height:2.9rem;color:var(--text-color);background:var(--surface-card);outline:none;flex:auto;min-width:10rem;padding:.75rem}.cert-create-search .button{flex-shrink:0}.cert-create-results{padding:1.25rem 1.5rem 1.5rem}.cert-create-results-title{color:var(--text-color-secondary);margin-bottom:.75rem;font-size:.92rem;font-weight:500}.certificados-filter-bar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.certificados-filter-bar .button{justify-content:center;min-width:9rem}.row-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.row-actions .button{align-items:center;gap:.35rem;display:inline-flex}.row-actions .button svg{width:.95rem;height:.95rem}.cert-type-tag{letter-spacing:.02em;text-transform:uppercase;color:var(--text-color-secondary);background:var(--surface-muted);border:1px solid var(--surface-border);border-radius:999px;margin-top:.2rem;padding:.1rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}html[data-theme=dark] .cert-type-tag{border-color:#a8baad2e}.role-list{gap:.9rem;margin-bottom:1rem;display:grid}.role-row{border:1px solid var(--surface-border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.role-row p{color:var(--text-color-secondary);margin-top:.35rem}.inline-form{gap:.75rem;display:flex}.stats-card{align-items:flex-start;gap:1rem;display:flex}.stats-card__icon{border-radius:var(--radius-lg);width:4rem;height:4rem;color:var(--primary-soft);background:var(--primary-ghost);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.profile-form{margin-top:1rem}.offer-directory,.portal-offer-grid,.teacher-chip-grid,.offer-program-course-list,.offer-summary-list{gap:1rem;display:grid}.offer-directory-card,.offer-hero-card{border:1px solid var(--surface-border);border-radius:var(--radius-xl);background:var(--surface-card);box-shadow:var(--shadow-card)}.offer-directory-card{padding:1.25rem}.offer-directory-card__head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.offer-directory-card__meta{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}.offer-directory-card__meta span,.portal-offer-card__pricing span{color:var(--text-color-secondary);font-size:.92rem}.portal-offer-section{margin-top:1.5rem}.portal-offer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-offer-card__pricing{flex-direction:column;gap:.2rem;margin-bottom:1rem;display:flex}.portal-offer-card__pricing strong{font-family:var(--font-heading), sans-serif;font-size:1.45rem}.portal-event-card{border:1px solid var(--surface-border);border-radius:var(--radius-xl);background:var(--surface-card);box-shadow:var(--shadow-card);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.portal-event-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.portal-event-card__image{aspect-ratio:16/9;object-fit:cover;width:100%;transition:transform .3s}.portal-event-card:hover .portal-event-card__image{transform:scale(1.03)}.portal-event-card__placeholder{aspect-ratio:16/9;background:color-mix(in srgb, var(--muted) 15%, transparent);width:100%;color:var(--muted);justify-content:center;align-items:center;display:flex}.portal-event-card__body{flex-direction:column;flex:1;gap:.6rem;padding:1.1rem 1.25rem 1.25rem;display:flex}.portal-event-card__tag{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-sm);background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary);align-self:flex-start;padding:.2rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.portal-event-card__name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.05rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.portal-event-card__info{color:var(--text-color-secondary);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.portal-event-card__info-item{align-items:center;gap:.35rem;display:flex}.portal-event-card__footer{justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:.5rem;display:flex}.portal-event-card__price{color:var(--text-color);font-size:1.25rem;font-weight:700}.portal-event-card__cta{color:var(--primary);align-items:center;gap:.3rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:gap .2s;display:inline-flex}.portal-event-card__cta:hover{gap:.5rem}.event-detail__hero{min-height:320px;position:relative;overflow:hidden}.event-detail__hero-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.event-detail__hero-placeholder{background:color-mix(in srgb, var(--primary) 10%, var(--surface-card));position:absolute;inset:0}.event-detail__hero-overlay{background:linear-gradient(#0000 30%,#000000b3);align-items:flex-end;min-height:320px;padding:2rem 2rem 2.5rem;display:flex;position:relative}.event-detail__hero-content{color:#fff;flex-direction:column;gap:.5rem;max-width:720px;display:flex}.event-detail__back{color:#fffc;align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.88rem;text-decoration:none;transition:color .15s;display:inline-flex}.event-detail__back:hover{color:#fff}.event-detail__tag{text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;align-self:flex-start;padding:.25rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.event-detail__title{margin:.25rem 0;font-size:2rem;font-weight:700;line-height:1.2}.event-detail__hero-dates{opacity:.9;flex-wrap:wrap;gap:.5rem 1rem;font-size:.95rem;display:flex}.event-detail__credits{border-radius:var(--radius-sm);background:#ffffff1f;padding:.15rem .5rem;font-size:.82rem;font-weight:500;display:inline-flex}.event-detail__body{grid-template-columns:1fr 340px;gap:2.5rem;max-width:1100px;margin:0 auto;padding:2.5rem 1.5rem;display:grid}.event-detail__main{flex-direction:column;gap:2rem;display:flex}.event-detail__section h2{margin-bottom:.75rem;font-size:1.15rem;font-weight:600}.event-detail__desc{color:var(--text-color-secondary);font-size:.95rem;line-height:1.7}.event-detail__sessions{flex-direction:column;gap:.5rem;display:flex}.event-detail__session-item{border:1px solid var(--surface-border);border-radius:var(--radius);background:var(--surface-card);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.event-detail__session-date{align-items:center;gap:.35rem;font-weight:500;display:flex}.event-detail__session-time{color:var(--text-color-secondary)}.event-detail__session-location{color:var(--text-color-secondary);margin-left:auto}.event-detail__sidebar{flex-direction:column;align-self:start;gap:1rem;display:flex;position:sticky;top:1.5rem}.event-detail__info-card{border:1px solid var(--surface-border);border-radius:var(--radius-xl);background:var(--surface-card);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.event-detail__info-row{color:var(--text-color-secondary);align-items:flex-start;gap:.6rem;display:flex}.event-detail__info-row>svg{flex-shrink:0;margin-top:.2rem}.event-detail__info-label{margin-bottom:.1rem;font-size:.78rem;display:block}.event-detail__info-row strong{color:var(--text-color);font-size:.92rem}.event-detail__price-card{border:1px solid var(--surface-border);border-radius:var(--radius-xl);background:var(--surface-card);text-align:center;flex-direction:column;align-items:center;gap:.4rem;padding:1.25rem;display:flex}.event-detail__price-amount{font-size:1.6rem;font-weight:700}.event-detail__price-label{color:var(--text-color-secondary);font-size:.82rem}.event-detail__cta{width:100%;margin-top:.5rem}.event-detail__back-mobile{text-align:center;color:var(--primary);font-size:.9rem;text-decoration:none;display:none}@media (max-width:860px){.event-detail__body{grid-template-columns:1fr}.event-detail__sidebar{position:static}.event-detail__hero{min-height:240px}.event-detail__hero-overlay{min-height:240px;padding:1.5rem}.event-detail__title{font-size:1.4rem}.event-detail__back-mobile{display:block}}.offer-hero-card{grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr);gap:1.5rem;margin:1.5rem;padding:1.5rem;display:grid}.offer-hero-card__media{height:100%}.offer-hero-card__image,.offer-hero-card__placeholder{border-radius:var(--radius-lg);background-position:50%;background-size:cover;min-height:100%}.offer-hero-card__placeholder{background:radial-gradient(circle at 100% 0,#16a34a47,#0000 24%),linear-gradient(160deg,#063d1ee0,#0b5d2ac7);min-height:22rem}.offer-hero-card__content,.offer-hero-card__header,.offer-pricing-grid,.offer-detail-grid{gap:1rem;display:grid}.offer-pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card.compact{min-height:auto}.offer-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-summary-list{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem}.offer-summary-list div{border-radius:var(--radius-lg);background:var(--surface-muted);padding:1rem}html[data-theme=dark] .offer-summary-list div,html[data-theme=dark] .subtle-panel,html[data-theme=dark] .readonly-field,html[data-theme=dark] .role-row,html[data-theme=dark] .offer-program-course{background:linear-gradient(180deg, #ffffff05, transparent), var(--surface-muted);border-color:var(--surface-border)}.offer-summary-list span,.offer-program-course p,.teacher-picker span,.checkbox-chip small{color:var(--text-color-secondary)}.offer-summary-list strong,.offer-program-course strong,.teacher-chip strong{margin-top:.35rem;display:block}.offer-program-course{border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--surface-muted);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.offer-program-course span{color:var(--primary-soft);font-weight:700}.offer-fees-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.readonly-field{border:1px solid var(--surface-border);border-radius:var(--radius-md);background:var(--surface-card);justify-content:center;min-height:2.9rem;padding:.75rem}.readonly-field strong{margin-top:.2rem;font-weight:500}.subtle-panel{border-radius:var(--radius-xl);border:1px solid var(--surface-border);background:var(--surface-card);box-shadow:none;padding:1.25rem}.checkbox-row{flex-wrap:wrap;gap:.85rem;display:flex}.checkbox-chip{border:1px solid var(--surface-border);border-radius:var(--radius-md);background:var(--surface-card);align-items:flex-start;gap:.6rem;padding:.75rem;display:inline-flex}html[data-theme=dark] .checkbox-chip{border-color:var(--surface-border);background:linear-gradient(#ffffff05,#0000),#101a13d1}.checkbox-chip input{margin-top:.25rem}.teacher-picker{gap:.8rem;display:grid}.teacher-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-chip span{gap:.15rem;display:grid}.teacher-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.teacher-card{border:1px solid var(--surface-border);border-radius:var(--radius-xl);background:var(--surface-card);min-height:12rem;box-shadow:var(--shadow-card);align-content:start;gap:1rem;padding:1.1rem;display:grid}.teacher-card strong{font-family:var(--font-heading), sans-serif;font-size:1.05rem;line-height:1.25;display:block}.teacher-card p{color:var(--text-color-secondary);overflow-wrap:anywhere;margin-top:.25rem}.teacher-course-list{flex-wrap:wrap;gap:.55rem;display:flex}.course-pill{border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--surface-muted);gap:.18rem;max-width:100%;padding:.65rem .75rem;display:grid}.course-pill strong,.course-pill small{overflow-wrap:anywhere}.course-pill small{color:var(--text-color-secondary)}html[data-theme=dark] .teacher-card,html[data-theme=dark] .course-pill{background:linear-gradient(180deg, #ffffff05, transparent), var(--surface-muted)}.offer-course-row{padding-top:.35rem}.academic-role-grid{margin-bottom:1.5rem}.learning-overview-grid{grid-template-columns:minmax(0,1.45fr) minmax(19rem,.55fr);align-items:stretch;gap:1rem;display:grid}.learning-overview-grid .role-card{height:100%;box-shadow:var(--shadow-soft)}.learning-hero-card{background:linear-gradient(135deg, #16a34a14, transparent 38%), var(--surface-card);border-color:#16a34a29;min-height:15.5rem}html[data-theme=dark] .learning-hero-card{background:linear-gradient(135deg, #4ade8014, transparent 38%), var(--surface-card);border-color:#4ade802e}.learning-hero-card h1{max-width:15ch;font-size:2rem;line-height:1.08}.learning-hero-card .section-copy{max-width:54rem;margin-top:.55rem;font-size:.98rem;line-height:1.55}.learning-hero-card__icon{border:1px solid #16a34a29;width:3.35rem;height:3.35rem}.learning-stat-grid{grid-template-columns:repeat(3,minmax(6.8rem,1fr));gap:.75rem;margin-top:1.25rem;display:grid}.learning-stat-card{border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:#ffffff9e;min-width:0;padding:.85rem .95rem}html[data-theme=dark] .learning-stat-card{background:#17241bb3}.learning-stat-card span{color:var(--text-color-secondary);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.78rem;font-weight:700;line-height:1.25;display:block;overflow:hidden}.learning-stat-card strong{font-family:var(--font-heading), sans-serif;margin-top:.35rem;font-size:1.45rem;line-height:1;display:block}.learning-board{padding:1.35rem}.learning-board .panel-head{border-bottom:1px solid var(--surface-border);padding-bottom:.9rem}.learning-board .panel-head h2{font-size:1.45rem;line-height:1.16}.learning-list{gap:.85rem}.learning-item-card{box-shadow:none;gap:.85rem;transition:border-color .2s,transform .2s,box-shadow .2s;display:grid}.learning-item-card:hover{box-shadow:var(--shadow-soft);border-color:#16a34a52;transform:translateY(-1px)}.learning-item-card .offer-directory-card__head h3{margin-top:.15rem;font-size:1.15rem;line-height:1.22}.learning-item-card__copy{font-size:.95rem}.learning-roster{gap:.65rem;margin:0}.learning-roster-row{border-radius:var(--radius-lg);background:var(--surface-muted);padding:.85rem .95rem}.learning-roster-row strong{font-size:.98rem}.learning-roster-row p{font-size:.9rem;line-height:1.35}.learning-resource-list{gap:.75rem}.learning-resource-card{background:var(--surface-card)}.compact-list{gap:.75rem}.empty-state-card{place-items:start}.layout-static-inactive .layout-sidebar{left:0;transform:translate(-100%)}.layout-static-inactive .layout-main-container{margin-left:0;padding-left:2rem}.layout-static-inactive .layout-menu-button{transform:rotate(180deg)}@media (max-width:991px){.blocked-scroll{overflow:hidden}.auth-page,.public-hero-wrapper,.public-hero,.landing-hero,.panel-grid,.detail-grid,.dashboard-grid,.learning-overview-grid,.portal-offer-grid,.offer-detail-grid,.offer-pricing-grid,.offer-summary-list,.management-hero,.teacher-card-grid,.management-card-grid,.stats-grid,.stats-grid.compact,.course-mode .offer-workspace,.course-mode .offer-main-grid,.course-mode .offer-fees-grid,.modality-radio-group,.modality-radio-group.three-options,.modality-card-grid{grid-template-columns:1fr}.management-hero__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-hero-card{min-height:auto}.learning-hero-card h1{max-width:18ch}.auth-page{background-attachment:scroll;min-height:auto;overflow:visible}.public-portal-nav{flex-wrap:wrap}.public-portal-brand{width:min(14rem,52vw)}.public-portal-links{order:3;width:100%;margin-left:0}.public-portal-controls{margin-left:auto}.public-hero-wrapper{min-height:auto}.public-hero{padding:5rem clamp(1rem,5vw,3rem) clamp(4rem,8vw,8rem)}.public-hero-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.public-feature-card{min-height:7.5rem}.auth-page:before{background:linear-gradient(#0a100dad,#0a100d57 42%,#f5f7f8d1 72%,#f5f7f8f0)}html[data-theme=dark] .auth-page:before{background:linear-gradient(#0a100dc7,#0a100d80 42%,#111815db 72%,#111815f5)}.auth-brand{min-height:30rem;padding:2rem}.auth-frame{border-top:0;border-left:0;min-height:auto;padding-top:0}.layout-topbar{justify-content:space-between;padding:0 1rem}.layout-topbar-logo{order:2;width:min(12rem,46vw)}.layout-menu-button{order:1;margin-left:0}.layout-topbar-menu-button{order:3;display:inline-flex}.layout-sidebar{border-radius:0;height:100vh;top:0;left:0;transform:translate(-100%)}.sakai-shell.sidebar-open .layout-sidebar{transform:translate(0)}.layout-main-container{margin-left:0;padding-left:0}.layout-static-inactive .layout-main-container{margin-left:0}.layout-main{padding:0 1rem 1rem}.layout-mask{z-index:998;background:#00000059;display:none;position:fixed;inset:0}.sakai-shell.sidebar-open .layout-mask{display:block}.layout-topbar-menu{border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--surface-overlay);min-width:15rem;box-shadow:var(--shadow-soft);flex-direction:column;align-items:stretch;gap:.5rem;padding:1rem;animation:.18s fade-up;display:none;position:absolute;top:5rem;right:1rem}.layout-topbar-menu.layout-topbar-menu-mobile-active{display:flex}.layout-topbar-menu .shell-icon-button{border-radius:var(--radius-sm);justify-content:flex-start;width:100%;padding:.9rem 1rem}.layout-topbar-menu .language-switcher,.layout-topbar-menu .language-switcher-trigger{width:100%}.layout-topbar-menu .language-switcher-trigger{border-radius:var(--radius-sm);box-shadow:none;justify-content:flex-start}.layout-topbar-menu .language-switcher-panel{min-width:100%;box-shadow:none;margin-top:.35rem;position:static;transform:translateY(-4px)}.layout-topbar-menu .shell-profile,.layout-topbar-menu .shell-profile-trigger{width:100%}.layout-topbar-menu .shell-user-block{display:flex}.layout-topbar-menu .shell-profile-panel{opacity:0;pointer-events:none;min-width:100%;box-shadow:none;border-radius:var(--radius-lg);margin-top:.35rem;position:static;transform:translateY(-4px)}.layout-topbar-menu .shell-profile-panel.open{opacity:1;pointer-events:auto;transform:none}}@media (max-width:720px){.management-hero__stats{grid-template-columns:1fr}.management-card{min-height:auto}.public-portal-nav{gap:.8rem;min-height:auto;padding:.85rem;position:relative}.public-portal-brand{width:min(11rem,52vw)}.public-portal-links{display:none}.public-portal-controls{gap:.45rem}.public-portal-controls .button{display:none}.public-portal-controls .language-switcher-trigger{min-height:2.75rem;padding:0 .8rem}.public-hero-wrapper{min-height:auto}.public-hero{align-items:end;padding:2rem 1rem 1rem}.public-hero-copy h1{max-width:9ch;font-size:clamp(3rem,17vw,4.2rem)}.public-hero-copy p:not(.eyebrow){font-size:.96rem;line-height:1.55}.public-hero-actions .button{width:100%}.public-hero-panel{grid-template-columns:1fr}.public-feature-card{min-height:auto;padding:1rem}.public-section-head{align-items:start;display:grid}.offer-hero-card{margin:1rem;padding:1rem}.landing-page,.auth-frame,.auth-page.compact{padding:1rem}.auth-brand{background-position:top;min-height:16rem;padding:1rem}.auth-page.compact{background-attachment:scroll}.auth-page{background-position:top;gap:0;padding:.85rem}.auth-theme-toggle{justify-content:flex-end;align-self:start;position:static}.auth-brand{min-height:15.5rem;padding:.25rem .15rem 0}.auth-logo{align-items:flex-start}.brand-logo--auth{width:min(11.5rem,62vw)}.auth-frame{background:0 0;padding:0}html[data-theme=dark] .auth-frame{background:0 0}.auth-brand-copy h1{max-width:9ch;font-size:clamp(2.15rem,12vw,2.75rem);line-height:.98}.auth-brand-copy p:not(.eyebrow){max-width:26rem;font-size:.95rem;line-height:1.45}.auth-gradient-frame{border-radius:var(--radius-xl);width:100%}.auth-card{box-shadow:0 18px 42px #0a100d33}.auth-card-sakai,.selection-card-sakai,.landing-copy,.landing-card-grid,.dashboard-card,.panel,.role-card,.offer-directory-card,.offer-hero-card{border-radius:var(--radius-xl);padding:1.25rem}.learning-board{padding:1.15rem}.learning-hero-card h1{font-size:1.65rem}.learning-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-mode .offer-editor-card,.course-mode .offer-directory-panel,.program-mode .offer-directory-panel{padding:1.2rem}.course-mode .offer-editor-title{max-width:10ch}.auth-card-sakai{padding:1.25rem}.split-fields,.search-form,.inline-form,.panel-head,.role-row,.learning-roster-row,.teacher-chip-grid,.offer-fees-grid{grid-template-columns:1fr;display:grid}.shell-user-block{display:none}.button,.button.small{width:100%}.responsive-table-wrap{overflow:visible}.responsive-data-table,.responsive-data-table thead,.responsive-data-table tbody,.responsive-data-table tr,.responsive-data-table th,.responsive-data-table td{width:100%;display:block}.responsive-data-table thead{display:none}.responsive-data-table tr{border:1px solid var(--surface-border);border-radius:var(--radius-xl);background:var(--surface-card);padding:.9rem}.responsive-data-table tr+tr{margin-top:.85rem}.responsive-data-table td{border-top:0;grid-template-columns:minmax(6.8rem,.42fr) minmax(0,1fr);gap:.75rem;padding:.55rem 0;display:grid}.responsive-data-table td:before{content:attr(data-label);color:var(--text-color-secondary);font-size:.86rem;font-weight:700}}@media (max-width:430px){.auth-page{padding:.65rem}.auth-brand{min-height:13.5rem}.auth-brand-copy .eyebrow{margin-bottom:.35rem}.auth-brand-copy p:not(.eyebrow){display:none}.auth-card-sakai{padding:1rem}.auth-avatar{width:2.8rem;height:2.8rem;margin-bottom:.75rem}.field input,.field select,.search-form input,.inline-form select{min-height:2.85rem;padding:.75rem .85rem}.button{min-height:2.85rem;padding:.75rem .95rem}.learning-stat-grid{grid-template-columns:1fr}.learning-stat-card{justify-content:space-between;align-items:center;gap:1rem;display:flex}.learning-stat-card strong{margin-top:0}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.slider-count-badge{border:1px solid var(--surface-border);border-radius:var(--radius-md);color:var(--text-color-secondary);background:var(--surface-card);align-items:center;padding:.45rem .85rem;font-size:.9rem;font-weight:600;display:inline-flex}.slider-tabs{gap:0;margin-bottom:1.25rem;display:flex}.slider-tab{color:var(--text-muted);border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.slider-tab:hover{color:var(--text-color)}.slider-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.slider-tab__count{min-width:1.5rem;height:1.35rem;color:var(--text-muted);background:var(--surface-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 .4rem;font-size:.75rem;font-weight:700;display:inline-flex}.slider-tab.active .slider-tab__count{color:#fff;background:var(--primary)}.slider-drag-row{cursor:grab}.slider-drag-row:active{cursor:grabbing}.slider-drag-row--dragging,.slider-drag-table tbody tr:hover .slider-drag-row--dragging{opacity:.3}.slider-reorder-form-hidden{display:none}.slider-current-image,.slider-image-preview{border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--surface-card);gap:.75rem;padding:1rem;display:grid}.slider-current-image img,.slider-image-preview img{border-radius:var(--radius-md);object-fit:cover;width:100%;max-width:320px;height:auto}.slider-library-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:1.25rem;display:grid}.slider-card{border:1px solid var(--surface-border);border-radius:var(--radius-xl);background:var(--surface-card);box-shadow:var(--shadow-soft);gap:1rem;padding:1rem;display:grid}.slider-card__image{aspect-ratio:16/5;border-radius:var(--radius-lg);background:var(--surface-muted);width:100%;position:relative;overflow:hidden}.slider-card__content{gap:.5rem;display:grid}.slider-card__content h3{font-size:1.15rem;font-weight:600}.slider-card__meta{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.slider-card__order{color:var(--text-color-secondary);font-size:.85rem;font-weight:600}.slider-card__link{color:var(--primary-soft);word-break:break-all;font-size:.9rem}.slider-card__actions,.slider-card__action-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.slider-reorder-form{gap:1rem;display:grid}.slider-reorder-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.slider-reorder-item{border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:var(--surface-card);cursor:grab;align-items:center;gap:1rem;padding:.75rem;transition:box-shadow .2s,transform .2s;display:flex}.slider-reorder-item.dragging{opacity:.6;box-shadow:var(--shadow-card);transform:scale(1.01)}.slider-reorder-handle{color:var(--text-color-secondary);display:inline-flex}.slider-reorder-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.slider-reorder-item img{border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;width:6rem;height:2rem}.hero-slider-container{width:100%;margin:0 auto;padding:clamp(1rem,3vw,2.5rem) clamp(1rem,5vw,3rem) 0}.hero-slider{z-index:1;background:var(--surface-muted);border-radius:var(--radius-lg);outline:none;width:100%;height:clamp(310px,35vw,470px);position:relative;overflow:hidden;box-shadow:0 20px 60px #00000047}.hero-slider:focus-visible{box-shadow:inset 0 0 0 2px var(--primary)}.hero-slider__link{width:100%;height:100%;display:block}.hero-slider__slide{opacity:0;pointer-events:none;align-items:end;padding:clamp(1rem,2.5vw,2.2rem);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1);display:grid;position:absolute;inset:0;transform:scale(1.04)}.hero-slider__slide.active{opacity:1;pointer-events:auto;z-index:1;transform:scale(1)}.hero-slider__image-wrapper{position:absolute;inset:0;overflow:hidden}.hero-slider__image{transition:transform 6s cubic-bezier(.25,0,.1,1)}.hero-slider__image.ken-burns{animation:6s cubic-bezier(.25,0,.1,1) forwards ken-burns-pan}@keyframes ken-burns-pan{0%{transform:scale(1)}50%{transform:scale(1.06)translate(-.5%,-.25%)}to{transform:scale(1.08)translateY(-.5%)}}.hero-slider__overlay{pointer-events:none;z-index:1;background:linear-gradient(#0a100d26 0%,#0a100d40 40%,#0a100d99 100%);position:absolute;inset:0}.hero-slider__badge{z-index:3;contain:paint;pointer-events:none;opacity:0;background:#063d1ed9;align-items:center;transition:opacity .5s .2s;display:flex;position:absolute}.hero-slider__slide.active .hero-slider__badge{opacity:1}.hero-slider__badge--top-left{clip-path:polygon(0 0,69% 0,24% 100%,0 100%);justify-content:flex-start;align-items:flex-start;width:clamp(250px,38vw,500px);padding:clamp(1rem,2.5vw,2rem);top:0;bottom:0;left:0}.hero-slider__badge--bottom-right{clip-path:polygon(76% 0,100% 0,100% 100%,31% 100%);justify-content:flex-end;align-items:flex-end;width:clamp(250px,38vw,500px);padding:clamp(1rem,2.5vw,2rem);top:0;bottom:0;right:0}.hero-slider__badge-label{color:#fff;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 1px 4px #0000004d;font-size:clamp(.75rem,1.3vw,1rem);font-weight:700;line-height:1.2}@media (max-width:768px){.hero-slider__badge--top-left{clip-path:polygon(0 0,73% 0,28% 100%,0 100%);width:clamp(160px,42vw,260px);padding:clamp(.5rem,2vw,1rem)}.hero-slider__badge--bottom-right{clip-path:polygon(72% 0,100% 0,100% 100%,27% 100%);width:clamp(160px,42vw,260px);padding:clamp(.5rem,2vw,1rem)}.hero-slider__badge-label{font-size:clamp(.65rem,2vw,.8rem)}}.hero-slider__content{z-index:2;color:#fff;text-shadow:0 2px 8px #00000059;width:100%;max-width:72rem;margin:0 auto;animation:.7s cubic-bezier(.4,0,.2,1) both content-fade-up;position:relative}.hero-slider__slide.active .hero-slider__content{animation:.7s cubic-bezier(.4,0,.2,1) .15s both content-fade-up}@keyframes content-fade-up{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.hero-slider__content h2{margin-bottom:.35rem;font-size:clamp(1.25rem,2.8vw,2.2rem);font-weight:700}.hero-slider__content p{max-width:42rem;font-size:clamp(.85rem,1.4vw,1.1rem);line-height:1.45}.hero-slider__arrow{z-index:3;width:3rem;height:3rem;color:var(--text-color);cursor:pointer;box-shadow:var(--shadow-soft);opacity:0;background:#ffffffd9;border:0;border-radius:50%;justify-content:center;align-items:center;transition:background-color .2s,transform .2s,opacity .2s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.hero-slider:hover .hero-slider__arrow{opacity:1}.hero-slider__arrow:hover{background:#fff;transform:translateY(-50%)scale(1.1)}.hero-slider__arrow svg{width:1.5rem;height:1.5rem}.hero-slider__arrow--prev{left:1rem}.hero-slider__arrow--next{right:1rem}.hero-slider__dots{z-index:3;gap:.5rem;display:flex;position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%)}.hero-slider__dot{cursor:pointer;background:#fff6;border:0;border-radius:999px;width:2rem;height:.25rem;padding:0;transition:background-color .2s;position:relative;overflow:hidden}.hero-slider__dot.active{background:#ffffff4d}.hero-slider__dot:hover{background:#ffffffa6}.hero-slider__dot-progress{transform-origin:0;background:#fff;border-radius:999px;animation:6s linear forwards dot-progress;position:absolute;inset:0}@keyframes dot-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (max-width:768px){.hero-slider-container{padding:1rem 1rem 0}.hero-slider{border-radius:var(--radius-md);height:clamp(220px,46vw,320px)}.hero-slider__slide{padding:1.5rem}.hero-slider__arrow{opacity:1;width:2.5rem;height:2.5rem}.hero-slider__arrow--prev{left:.5rem}.hero-slider__arrow--next{right:.5rem}.hero-slider__dot{width:1.5rem}}.portal-tabs{z-index:10;background:var(--primary-dark,#043820);-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:center;gap:0;display:flex;overflow-x:auto}.portal-tabs:before,.portal-tabs:after{content:"";z-index:2;pointer-events:none;flex-shrink:0;width:1.5rem;position:sticky}.portal-tabs:before{background:linear-gradient(to right, var(--primary-dark,#043820) 30%, transparent);left:0}.portal-tabs:after{background:linear-gradient(to left, var(--primary-dark,#043820) 30%, transparent);right:0}.portal-tabs--sticky{border-bottom:3px solid var(--primary,#0d6b3b);position:sticky;top:0}.portal-tabs--bottom{margin-top:auto}.portal-tabs::-webkit-scrollbar{display:none}.portal-tab{color:#ffffffbf;white-space:nowrap;border-bottom:3px solid #0000;flex-shrink:0;align-items:center;min-height:48px;padding:1.1rem 1.6rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:color .2s,border-color .2s,background .2s;display:flex}.portal-tab:hover{color:#fff;background:#ffffff14}.portal-tab.active{color:#fff;border-bottom-color:#fff}.portal-tab--home{color:#ffffffe6;border-right:1px solid #ffffff26;align-items:center;gap:.5rem;padding-left:2rem;padding-right:2rem;font-weight:700;display:flex}.portal-tab--home:hover{color:#fff;background:#ffffff1a}@media (max-width:768px){.portal-tab--home{gap:.35rem;padding-left:1.2rem;padding-right:1.2rem}.portal-tabs:before,.portal-tabs:after{width:1rem}.portal-tabs{justify-content:flex-start;padding:0 .25rem}.portal-tab{padding:.95rem 1.2rem;font-size:.85rem}}@media (max-width:400px){.portal-tabs:before,.portal-tabs:after{width:.6rem}.portal-tabs{padding:0 .1rem}.portal-tab{padding:.85rem .9rem;font-size:.78rem}}.secciones-section{container:seccion/inline-size}.secciones-section__inner{align-items:center;gap:clamp(2rem,5vw,4rem);max-width:1180px;margin:0 auto;display:flex}.secciones-section__inner.img-right{flex-direction:row-reverse}.secciones-section__media{flex:0 0 45%;min-width:0}.secciones-section__image{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-lg);width:100%;height:auto;display:block}.secciones-section__placeholder{aspect-ratio:4/3;border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--primary-soft) 0%, var(--primary) 100%);opacity:.15;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.secciones-section__placeholder span{font-family:var(--font-heading), sans-serif;color:var(--primary);text-align:center;opacity:.7;padding:1rem;font-size:clamp(1.2rem,3vw,1.8rem);font-weight:700}.secciones-section__content{flex:1;min-width:0}.secciones-section__content .public-section-head{margin-bottom:1rem}.secciones-section__content .public-section-head h2{font-size:clamp(1.6rem,3.5vw,2.6rem);line-height:1.15}.secciones-section__content .section-copy{max-width:100%;font-size:1.05rem;line-height:1.7}@container seccion (max-width:599px){.secciones-section__content .section-copy{font-size:.95rem}}@media (max-width:768px){.secciones-section__inner,.secciones-section__inner.img-right{flex-direction:column}.secciones-section__media{flex:none;width:100%;max-width:400px}.secciones-section__image,.secciones-section__placeholder{aspect-ratio:16/9}.secciones-section__content{text-align:center}.secciones-section__content .public-section-head{justify-content:center}}.destacados-section{color:var(--text-color);background:radial-gradient(circle at top left, #16a34a14, transparent 34%), var(--surface-ground);padding:clamp(2rem,5vw,4.5rem) clamp(1rem,5vw,5rem)}.destacados-section__head{max-width:1180px;margin:0 auto 1.8rem}.destacados-section__head h2{font-size:clamp(1.6rem,3.5vw,2.6rem);line-height:1.15}.destacados-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:1.25rem;padding:.5rem 0 1rem;display:flex;position:relative;overflow-x:auto}.destacados-scroll::-webkit-scrollbar{display:none}.destacados-scroll:before,.destacados-scroll:after{content:"";z-index:2;pointer-events:none;flex-shrink:0;width:1.5rem;position:sticky}.destacados-scroll:before{background:linear-gradient(to right, var(--surface-ground) 30%, transparent);margin-right:-1.5rem;left:0}.destacados-scroll:after{background:linear-gradient(to left, var(--surface-ground) 30%, transparent);margin-left:-1.5rem;right:0}.destacados-card{border-radius:var(--radius-xl);background:var(--surface-card);border:1px solid var(--surface-border);width:min(300px,78vw);box-shadow:var(--shadow-card);flex-shrink:0;transition:box-shadow .2s,border-color .2s;overflow:hidden}.destacados-card:hover{border-color:var(--primary-soft);box-shadow:0 6px 32px #0000001a}.destacados-card__image-placeholder{aspect-ratio:16/10;background:linear-gradient(135deg, var(--primary-soft) 0%, var(--primary) 100%);opacity:.08;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.destacados-card__image-placeholder span{font-family:var(--font-heading), sans-serif;color:var(--primary);text-align:center;opacity:.35;padding:.75rem;font-size:.9rem;font-weight:700}.destacados-card__body{padding:1rem 1.1rem 1.2rem}.destacados-card__body h3{color:var(--text-color);font-family:var(--font-heading), sans-serif;margin:0;font-size:1.05rem;line-height:1.25}.destacados-card__body p{color:var(--text-color-secondary);margin:.45rem 0 0;font-size:.88rem;line-height:1.5}@media (max-width:768px){.destacados-section{padding:2rem 1rem}.destacados-section__head{margin-bottom:1.2rem}.destacados-scroll:before,.destacados-scroll:after{width:1rem}.destacados-scroll:before{margin-right:-1rem}.destacados-scroll:after{margin-left:-1rem}.destacados-card{width:min(260px,72vw)}.destacados-card__body h3{font-size:.95rem}.destacados-card__body p{font-size:.82rem}}@media (max-width:400px){.destacados-scroll:before,.destacados-scroll:after{width:.6rem}.destacados-scroll:before{margin-right:-.6rem}.destacados-scroll:after{margin-left:-.6rem}.destacados-card{width:min(240px,68vw)}}.plataformas-section{color:var(--text-color);background:radial-gradient(circle at top right, #16a34a0f, transparent 34%), var(--surface-ground);padding:clamp(2rem,5vw,4.5rem) clamp(1rem,5vw,5rem)}.plataformas-section__head{max-width:1180px;margin:0 auto 1.8rem}.plataformas-section__head h2{font-size:clamp(1.6rem,3.5vw,2.6rem);line-height:1.15}.plataformas-youtube-row{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto 1.2rem;display:flex}.plataformas-youtube-row__label{font-family:var(--font-heading), sans-serif;color:var(--text-color);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;display:flex}.plataformas-youtube-row a{color:var(--primary);font-size:.92rem;font-weight:600;text-decoration:none}.plataformas-youtube-row a:hover{text-decoration:underline}.plataformas-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:1.25rem;padding:.5rem 0 1.5rem;display:flex;position:relative;overflow-x:auto}.plataformas-scroll::-webkit-scrollbar{display:none}.plataformas-scroll:before,.plataformas-scroll:after{content:"";z-index:2;pointer-events:none;flex-shrink:0;width:1.5rem;position:sticky}.plataformas-scroll:before{background:linear-gradient(to right, var(--surface-ground) 30%, transparent);margin-right:-1.5rem;left:0}.plataformas-scroll:after{background:linear-gradient(to left, var(--surface-ground) 30%, transparent);margin-left:-1.5rem;right:0}.plataformas-video-card{border-radius:var(--radius-xl);background:var(--surface-card);border:1px solid var(--surface-border);width:min(280px,78vw);box-shadow:var(--shadow-card);color:inherit;flex-shrink:0;text-decoration:none;transition:box-shadow .2s,border-color .2s;overflow:hidden}.plataformas-video-card:hover{border-color:var(--primary-soft);box-shadow:0 6px 32px #0000001a}.plataformas-video-card__thumb{aspect-ratio:16/9;background:var(--surface-border);width:100%;position:relative;overflow:hidden}.plataformas-video-card__thumb img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.plataformas-video-card:hover .plataformas-video-card__thumb img{transform:scale(1.04)}.plataformas-video-card__play{opacity:0;background:#00000040;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.plataformas-video-card:hover .plataformas-video-card__play{opacity:1}.plataformas-video-card__body{padding:.9rem 1rem 1rem}.plataformas-video-card__body h3{font-family:var(--font-heading), sans-serif;color:var(--text-color);margin:0;font-size:.92rem;line-height:1.3}.plataformas-socials{flex-wrap:wrap;justify-content:center;gap:1rem;max-width:1180px;margin:1rem auto 0;display:flex}.plataformas-socials__link{background:var(--surface-card);color:var(--text-color);border:1px solid var(--surface-border);box-shadow:var(--shadow-card);border-radius:100px;align-items:center;padding:.65rem 1.4rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s;display:inline-flex}.plataformas-socials__link:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-deep);box-shadow:0 4px 20px #00000014}@media (max-width:768px){.plataformas-section{padding:2rem 1rem}.plataformas-section__head{margin-bottom:1.2rem}.plataformas-scroll:before,.plataformas-scroll:after{width:1rem}.plataformas-scroll:before{margin-right:-1rem}.plataformas-scroll:after{margin-left:-1rem}.plataformas-video-card{width:min(240px,70vw)}.plataformas-socials{gap:.7rem}.plataformas-socials__link{padding:.55rem 1.1rem;font-size:.88rem}}@media (max-width:400px){.plataformas-scroll:before,.plataformas-scroll:after{width:.6rem}.plataformas-scroll:before{margin-right:-.6rem}.plataformas-scroll:after{margin-left:-.6rem}.plataformas-video-card{width:min(220px,65vw)}}.patrocinadores-section{color:var(--text-color);background:var(--surface-ground);padding:clamp(2.5rem,5vw,4.5rem) 0;overflow:hidden}.patrocinadores-section__head{text-align:center;max-width:1180px;margin:0 auto 2rem;padding:0 clamp(1rem,5vw,5rem)}.patrocinadores-section__head h2{font-size:clamp(1.6rem,3.5vw,2.6rem);line-height:1.15}.patrocinadores-ribbon{padding:1rem 0;overflow:hidden}.patrocinadores-track{gap:clamp(2rem,5vw,4rem);width:max-content;animation:40s linear infinite patrocinadores-scroll;display:flex}.patrocinadores-track:hover{animation-play-state:paused}.patrocinadores-item{font-family:var(--font-heading), sans-serif;color:var(--text-color);opacity:.25;white-space:nowrap;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:800;transition:opacity .3s}.patrocinadores-item:hover{opacity:.6}@keyframes patrocinadores-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (max-width:768px){.patrocinadores-section{padding:2rem 0}.patrocinadores-section__head{margin-bottom:1.2rem}.patrocinadores-track{gap:clamp(1.5rem,4vw,2.5rem)}.patrocinadores-item{font-size:1.1rem}}.portal-footer{color:#ffffffb8;background:var(--primary-deep);border-top:1px solid #ffffff14;padding:clamp(2.5rem,5vw,4.5rem) clamp(1rem,5vw,5rem) 0}.portal-footer__grid{grid-template-columns:repeat(3,1fr);gap:clamp(2rem,5vw,4rem);max-width:1180px;margin:0 auto;display:grid}.portal-footer__col h4{color:#fff;font-family:var(--font-heading), sans-serif;margin:0 0 1rem;font-size:1.05rem;line-height:1.25}.portal-footer__col p{margin:0 0 .35rem;font-size:.92rem;line-height:1.6}.portal-footer__col>p{max-width:32ch}.portal-footer__col nav{flex-direction:column;gap:.4rem;display:flex}.portal-footer__col nav a{color:#ffffffb8;font-size:.92rem;text-decoration:none;transition:color .2s}.portal-footer__col nav a:hover{color:#fff;text-decoration:underline}.portal-footer__contact{margin-bottom:1.2rem}.portal-footer__socials{gap:.65rem;display:flex}.portal-footer__social-link{color:#ffffffb8;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.portal-footer__social-link:hover{color:#fff;background:#ffffff1f;border-color:#fff6;transform:scale(1.08)}.portal-footer__bottom{text-align:center;border-top:1px solid #ffffff14;margin-top:clamp(2rem,5vw,3rem);padding:1.2rem 0}.portal-footer__bottom p{color:#ffffff73;margin:0;font-size:.82rem}@media (max-width:768px){.portal-footer{padding:2.5rem 1.2rem 0}.portal-footer__grid{grid-template-columns:1fr 1fr;gap:2rem}.portal-footer__col:first-child{grid-column:1/-1}}@media (max-width:480px){.portal-footer__grid{grid-template-columns:1fr;gap:1.8rem}.portal-footer__col:first-child{grid-column:auto}}
