:root{--ink:#1e3050;--ink-soft:#3d4b63;--ink-muted:#5b6b85;--accent:#2ecfcb;--accent-dark:#1fb3b0;--band-solid:#e8556e;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope,Segoe UI,sans-serif}h1,h2,h3,.font-display{margin:0;font-family:"Baloo 2",Comic Neue,sans-serif}p{margin:0}a{color:var(--accent-dark);text-decoration:none}a:hover{color:var(--ink)}button{cursor:pointer;font-family:inherit}img,svg{max-width:100%;display:block}.app{overflow-x:hidden}.band{width:100%;position:relative}.band--gradient{background:linear-gradient(120deg,#fdf1f3 0%,#f6b9c4 38%,#ee7c93 68%,#de4863 100%)}.band--white{background:var(--white)}.inner{max-width:1180px;margin:0 auto;padding:0 60px;position:relative}@media (width<=720px){.inner{padding:0 24px}}.eyebrow{background:var(--accent);border-radius:2px;width:46px;height:4px;margin-top:10px;display:inline-block}.section-title{font-size:34px;font-weight:700}@media (width<=720px){.section-title{font-size:27px}}.section{padding:70px 20px 110px}@media (width<=720px){.section{padding:46px 10px 60px}}.wave{width:100%;height:90px;margin-bottom:-1px;display:block}.wave.mirrored{transform:scaleX(-1)}.wave.flipped{transform:scaleY(-1)}.wave.mirrored.flipped{transform:scale(-1)}@media (width<=720px){.wave{height:52px}}.btn{background:var(--accent);color:#fff;border:none;border-radius:999px;align-items:center;gap:8px;padding:12px 26px;font-size:15px;font-weight:700;transition:background .15s;display:inline-flex;box-shadow:0 4px 14px #2ecfcb66}.btn:hover{background:var(--accent-dark);color:#fff}.btn--ghost{border:1.5px solid var(--ink);color:var(--ink);box-shadow:none;background:0 0}.btn--ghost:hover{color:var(--ink);background:#1e30500f}.btn--block{justify-content:center;width:100%}.pill{border:1.5px solid var(--ink);color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:10px;padding:10px 20px 10px 14px;font-size:15px;font-weight:600;display:inline-flex;box-shadow:0 3px #1e30501f}.card{background:#fff;border-radius:20px;box-shadow:0 16px 32px #1e305024}.social-dot{background:var(--accent);color:#fff;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s;display:flex}.social-dot:hover{background:var(--accent-dark)}.site-header{padding-top:30px}.nav{justify-content:space-between;align-items:center;display:flex}.nav__brand{align-items:center;gap:10px;display:flex}.nav__logo{width:40px;height:40px;color:var(--ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 10px #1e30502e}.nav__title{font-family:"Baloo 2",sans-serif;font-size:19px;font-weight:700}.nav__links{align-items:center;gap:40px;font-size:15px;font-weight:600;display:flex}.nav__links a{color:var(--ink)}.nav__menu-toggle{width:40px;height:40px;color:var(--ink);background:#fff9;border:none;border-radius:10px;justify-content:center;align-items:center;display:none}@media (width<=860px){.nav__links,.nav__portal{display:none}.nav__menu-toggle{display:flex}}.nav__mobile-panel{flex-direction:column;gap:14px;margin-top:14px;padding:16px;font-size:15px;font-weight:700;display:flex}.nav__mobile-panel a{color:var(--ink)}.hero{justify-content:space-between;align-items:center;gap:40px;padding:70px 20px 130px;display:flex}@media (width<=860px){.hero{text-align:center;flex-direction:column-reverse;padding:40px 0 90px}}.hero__title{font-size:56px;font-weight:800;line-height:1.05}@media (width<=860px){.hero__title{font-size:36px}}.hero__subtitle{margin-top:14px;font-size:19px;font-weight:600}.hero__text{color:var(--ink-soft);max-width:420px;margin-top:18px;font-size:16px;font-weight:500;line-height:1.6}@media (width<=860px){.hero__text{max-width:none;margin-left:auto;margin-right:auto}}.hero__ctas{gap:14px;margin-top:26px;display:flex}@media (width<=860px){.hero__ctas{justify-content:center}}.hero__avatar-wrap{flex-shrink:0;position:relative}.hero__avatar{width:230px;height:230px;color:var(--ink);background:linear-gradient(155deg,#fff,#ffe0e6);border:6px solid #fff;border-radius:999px;justify-content:center;align-items:center;animation:4.5s cubic-bezier(.45,0,.55,1) infinite floating;display:flex;overflow:hidden;box-shadow:0 20px 40px #1e305038}.hero__avatar-img{object-fit:cover;width:100%;height:100%}.hero__avatar-dot{animation:4.7s cubic-bezier(.45,0,.55,1) .15s infinite floating}@media (width<=860px){.hero__avatar{width:160px;height:160px}}.hero__avatar-dot{background:#fff;border-radius:999px;width:26px;height:26px;position:absolute;bottom:6px;right:6px;box-shadow:0 4px 8px #1e305033}.about__grid{gap:80px;margin-top:36px;display:flex}@media (width<=860px){.about__grid{flex-direction:column;gap:24px}}.about__bio{flex-shrink:0;max-width:400px}.about__bio-lead{font-size:20px;font-weight:700}.about__bio-text{color:var(--ink-soft);margin-top:14px;font-size:15px;line-height:1.75}.about__badges{flex:1;min-height:260px;position:relative}@media (width<=860px){.about__badges{flex-wrap:wrap;gap:10px;min-height:0;display:flex;position:static}}.about__badges .pill{position:absolute}@media (width<=860px){.about__badges .pill{position:static}}.projects__row{align-items:center;gap:24px;margin-top:44px;display:flex;position:relative}.carousel-arrow{width:40px;height:40px;color:var(--ink);background:#fff;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 6px 14px #1e305033}@media (width<=720px){.carousel-arrow{display:none}}.projects__grid{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;display:grid}@media (width<=860px){.projects__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}.project-card{flex-direction:column;padding:26px;display:flex}@media (width<=860px){.project-card{padding:16px}}.project-card__icon{width:52px;height:52px;color:var(--ink);background:#f4f6fa;border-radius:14px;justify-content:center;align-items:center;display:flex;overflow:hidden}@media (width<=860px){.project-card__icon{width:40px;height:40px}}.project-card__title{margin-top:16px;font-size:19px;font-weight:700}.project-card__text{color:var(--ink-soft);flex:1;margin-top:8px;font-size:14px;line-height:1.6}@media (width<=860px){.project-card__title{margin-top:12px;font-size:15px}.project-card__text{font-size:12px}}.project-card__more{color:var(--accent-dark);background:0 0;border:none;align-self:flex-start;margin-top:12px;padding:0;font-size:14px;font-weight:700}.project-card__more:hover{color:var(--ink)}.dots{justify-content:center;gap:10px;margin-top:30px;display:flex}.dot{background:#f0c3cc;border:none;border-radius:999px;width:9px;height:9px;padding:0}.dot--active{background:var(--accent)}.projects__decor-field{pointer-events:none;content-visibility:auto;position:absolute;top:66%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.projects__decor{color:#fff;position:absolute}.projects__decor__icon{animation-name:floating;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite;display:block}@media (width<=900px){.projects__decor-field{display:none}}.portfolio__intro{max-width:640px;color:var(--ink-soft);margin-top:18px;font-size:15px;line-height:1.6}.portfolio__highlights{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.portfolio__highlight{color:var(--ink);background:#fff2ea;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:700}.portfolio__online-note{color:var(--ink-soft);max-width:640px;margin-top:10px;font-size:13px;line-height:1.6}.portfolio__category{margin-top:52px}.portfolio__category:first-of-type{margin-top:44px}.portfolio__category-title{font-size:22px;font-weight:700}.portfolio__category-intro{color:var(--ink-soft);max-width:560px;margin-top:6px;font-size:14px;line-height:1.6}.portfolio__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px;display:grid}@media (width<=980px){.portfolio__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.portfolio__grid{grid-template-columns:1fr}}.portfolio__material-note{color:var(--ink-muted);margin-top:40px;font-size:13px}.course-card{flex-direction:column;padding:24px;display:flex;position:relative}.course-card__badge{background:var(--accent);border-color:var(--accent);color:#fff;padding:6px 14px;font-size:11px;position:absolute;top:-14px;left:24px}.course-card__icon{color:#fff;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.course-card__title{margin-top:16px;font-size:18px;font-weight:700}.course-card__price{color:var(--band-solid);margin-top:6px;font-size:15px;font-weight:700}.course-card__price-note{color:var(--ink-muted);font-size:12px;font-weight:600}.course-card__tagline{color:var(--ink-soft);flex-grow:1;margin-top:8px;font-size:14px;line-height:1.6}.course-card__online{color:var(--band-solid);margin-top:10px;font-size:12px;font-weight:700}.course-card__online-discount{color:var(--accent-dark)}.course-card__more{margin-top:20px}@keyframes course-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes course-modal-pop-in{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.course-modal__backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#1e30508c;justify-content:center;align-items:center;padding:24px;animation:.2s course-modal-fade-in;display:flex;position:fixed;inset:0}.course-modal{background:#fff;border-radius:24px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);width:100%;max-width:960px;max-height:calc(100vh - 48px);animation:.25s cubic-bezier(.2,.8,.3,1) course-modal-pop-in;display:grid;position:relative;overflow-y:auto;box-shadow:0 30px 80px #1e305059}@media (width<=760px){.course-modal{grid-template-columns:1fr}}.course-modal__close{width:36px;height:36px;color:var(--ink);z-index:2;background:#ffffffe6;border:none;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px;box-shadow:0 6px 16px #1e305033}.course-modal__close:hover{background:#fff}.course-modal__media{color:#fff;border-radius:24px 0 0 24px;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:220px;display:flex;position:relative;overflow:hidden}@media (width<=760px){.course-modal__media{border-radius:24px 24px 0 0;min-height:160px}}.course-modal__media-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.course-modal__media-note{opacity:.85;font-size:12px;font-weight:600}.course-modal__content{padding:32px 32px 32px 28px}@media (width<=760px){.course-modal__content{padding:28px 24px}}.course-modal__title{padding-right:40px;font-size:24px;font-weight:700}.course-modal__tagline{color:var(--ink-soft);margin-top:8px;font-size:14px;line-height:1.6}.course-modal__prices{flex-direction:column;gap:14px;margin-top:24px;display:flex}.course-modal__price-block{background:#f4f6fa;border-radius:14px;padding:16px 18px}.course-modal__price-row{justify-content:space-between;align-items:center;font-size:14px;font-weight:700;display:flex}.course-modal__price-row--total{color:var(--band-solid)}.course-modal__price-row--online{color:var(--ink-soft);margin-top:6px;font-size:12px;font-weight:600}.course-modal__price-value{font-size:16px}.course-modal__material-list{color:var(--ink-soft);margin:10px 0 0;padding-left:18px;font-size:13px;line-height:1.8}.course-modal__roadmap-title{margin-top:28px;font-size:16px;font-weight:700}.course-modal__roadmap{flex-direction:column;gap:18px;margin:16px 0 0;padding:0;list-style:none;display:flex}.course-modal__roadmap-step{gap:14px;display:flex;position:relative}.course-modal__roadmap-step:not(:last-child):before{content:"";background:#1e30501f;width:2px;position:absolute;top:28px;bottom:-18px;left:13px}.course-modal__roadmap-index{background:var(--accent);color:#fff;z-index:1;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.course-modal__roadmap-step-title{font-size:14px;font-weight:700}.course-modal__roadmap-step-text{color:var(--ink-soft);margin-top:3px;font-size:13px;line-height:1.6}.course-modal__cta{justify-content:center;width:100%;margin-top:28px}.project-modal__backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#1e30508c;justify-content:center;align-items:center;padding:24px;animation:.2s course-modal-fade-in;display:flex;position:fixed;inset:0}.project-modal{background:#fff;border-radius:24px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);width:100%;max-width:960px;max-height:calc(100vh - 48px);animation:.25s cubic-bezier(.2,.8,.3,1) course-modal-pop-in;display:grid;position:relative;overflow-y:auto;box-shadow:0 30px 80px #1e305059}@media (width<=760px){.project-modal{grid-template-columns:1fr}}.project-modal__close{width:36px;height:36px;color:var(--ink);z-index:3;background:#ffffffe6;border:none;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px;box-shadow:0 6px 16px #1e305033}.project-modal__close:hover{background:#fff}.project-modal__media{border-radius:24px 0 0 24px;justify-content:center;align-items:center;min-height:260px;display:flex;position:relative;overflow:hidden}@media (width<=760px){.project-modal__media{border-radius:24px 24px 0 0;min-height:200px}}.project-modal__toggle{color:var(--ink);z-index:2;background:#ffffffe6;border:none;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:700;position:absolute;top:16px;left:16px}.project-modal__toggle:hover{background:#fff}.project-modal__media-note{color:#fff;opacity:.85;font-size:12px;font-weight:600}.project-modal__collage{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:10px;width:100%;height:100%;padding:30px;display:grid}.project-modal__collage-img{object-fit:cover;border:4px solid #fff;border-radius:12px;width:100%;height:100%;box-shadow:0 10px 20px #1e305040}.project-modal__collage-img:first-child{transform:rotate(-6deg)}.project-modal__collage-img:nth-child(2){transform:rotate(4deg)}.project-modal__collage-img:nth-child(3){transform:rotate(3deg)}.project-modal__collage-img:nth-child(4){transform:rotate(-4deg)}.project-modal__avatar{object-fit:cover;border:4px solid #fff;border-radius:999px;width:72px;height:72px;animation:4.5s cubic-bezier(.45,0,.55,1) infinite floating;position:absolute;bottom:14px;right:14px;box-shadow:0 10px 20px #1e30504d}.project-modal__content{flex-direction:column;padding:32px 32px 32px 28px;display:flex}@media (width<=760px){.project-modal__content{padding:28px 24px}}.project-modal__title{padding-right:40px;font-size:24px;font-weight:700}.project-modal__text{color:var(--ink-soft);flex:1;margin-top:14px;font-size:14px;line-height:1.7}.project-modal__footer{justify-content:flex-end;margin-top:24px;display:flex}.contact__grid{grid-template-columns:1fr 1fr;gap:90px;margin-top:40px;display:grid}@media (width<=860px){.contact__grid{grid-template-columns:1fr;gap:40px}}.form-card{padding:34px}.form{flex-direction:column;gap:18px;display:flex}.form label{color:var(--ink-muted);margin-bottom:6px;font-size:13px;font-weight:700;display:block}.form input,.form textarea{color:var(--ink);resize:vertical;border:1.5px solid #d8dfe8;border-radius:12px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:14px}.form input:focus,.form textarea:focus{border-color:var(--accent)}.form__error{color:var(--band-solid);margin-top:4px;font-size:12px;font-weight:600}.form__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.form__success{border:1.5px solid var(--accent);color:var(--ink);background:#2ecfcb1f;border-radius:12px;padding:16px;font-size:14px;font-weight:600}.faq-heading{margin-bottom:22px;font-size:19px;font-weight:700}.faq__row{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;border-bottom:1.5px solid #1e305040;padding:16px 0}.faq__row-head{justify-content:space-between;align-items:center;display:flex}.faq__row-title{font-size:15px;font-weight:700}.faq__chevron{flex-shrink:0;transition:transform .2s}.faq__chevron--open{transform:rotate(90deg)}.faq__row-text{color:var(--ink-soft);max-width:420px;margin-top:10px;font-size:14px;line-height:1.6}.site-footer .inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:30px 60px 40px;display:flex}.site-footer__brand{align-items:center;gap:14px;display:flex}.site-footer__logo{width:34px;height:34px;color:var(--ink);background:#f4f6fa;border-radius:999px;justify-content:center;align-items:center;display:flex}.site-footer__copyright{color:var(--ink-muted);font-size:13px;font-weight:600}.site-footer__social{gap:10px;display:flex}@keyframes floating{0%,to{transform:translateY(0)translate(0)rotate(0)}50%{transform:translateY(-14px)translate(-4px)rotate(-1.5deg)}}@keyframes floating_small{0%{transform:translateY(0)}50%{transform:translateY(-1px)translate(-3px)}to{transform:translateY(0)}}.rightfloat{animation-name:rightfloat;animation-duration:1.5s;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite}.leftfloat{animation-name:leftfloat;animation-duration:1.5s;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite}@keyframes leftfloat{0%{transform:translate(0)}50%{transform:translate(-5px)translateY(1px)rotate(-.5deg)scale(1.01)}to{transform:translate(0)}}@keyframes rightfloat{0%{transform:translate(0)}50%{transform:translate(5px)translateY(-1px)scale(1.01)}to{transform:translate(0)}}.admin{background:#f7f8fb;min-height:100vh}.admin-loading{text-align:center;color:var(--ink-soft);padding:60px}.admin__header{background:#fff;align-items:center;gap:28px;padding:18px 32px;display:flex;box-shadow:0 4px 14px #1e305014}.admin__brand{color:var(--ink);white-space:nowrap;align-items:center;gap:10px;font-weight:700;display:flex}.admin__nav{flex:1;gap:18px;display:flex}.admin__nav a{color:var(--ink-soft);font-weight:600}.admin__nav a.is-active{color:var(--accent-dark)}.admin__account{color:var(--ink-soft);align-items:center;gap:14px;font-size:14px;display:flex}.admin__content{max-width:1000px;margin:0 auto;padding:36px 24px 80px}.admin-tabs{gap:8px;margin:18px 0 22px;display:flex}.admin-tab{color:var(--ink-soft);background:#fff;border:1.5px solid #0000;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600}.admin-tab.is-active{border-color:var(--accent);color:var(--ink)}.admin-table-wrap{padding:8px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th{text-align:left;color:var(--ink-muted);padding:12px 16px;font-weight:600}.admin-table td{color:var(--ink);border-top:1px solid #1e305014;padding:12px 16px}.admin-badge{border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.admin-badge--pending{color:#8a6210;background:#e8ad2b2e}.admin-badge--confirmed{color:var(--accent-dark);background:#2ecfcb2e}.admin-badge--declined{color:var(--band-solid);background:#de486324}.admin-detail{margin:18px 0;padding:24px}.admin-detail__grid{grid-template-columns:max-content 1fr;gap:8px 20px;margin:0;display:grid}.admin-detail__grid dt{color:var(--ink-muted);font-weight:600}.admin-detail__grid dd{color:var(--ink);margin:0}.admin-detail__title{margin-bottom:4px;font-size:20px}.admin-detail__actions{gap:12px;margin-top:8px;display:flex}.admin-confirm-form{flex-direction:column;gap:14px;padding:24px;display:flex}.admin-portal-id{border:1.5px solid var(--accent);margin:18px 0;padding:20px 24px}.admin-hint{color:var(--ink-muted);font-size:13px}.admin-error{color:var(--band-solid);font-weight:600}.admin-success{color:var(--accent-dark);font-size:14px;font-weight:600}.admin-field{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.admin-field--checkbox{flex-direction:row;align-items:center;gap:10px}.admin-field--checkbox input{width:auto}.admin-steps{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.admin-steps__row{border-top:1px solid #1e305014;justify-content:space-between;align-items:center;gap:16px;padding-top:14px;display:flex}.admin-steps__row:first-child{border-top:none;padding-top:0}.admin-steps__title{color:var(--ink);font-weight:700}.admin-steps__row select{color:var(--ink);border:1.5px solid #1e30502e;border-radius:8px;flex-shrink:0;padding:8px 12px;font-family:inherit;font-size:14px}.admin-reports{flex-direction:column;gap:14px;margin:0 0 20px;padding:0;list-style:none;display:flex}.admin-reports__row{border-top:1px solid #1e305014;padding-top:14px;font-size:14px;line-height:1.6}.admin-reports__row:first-child{border-top:none;padding-top:0}.admin-reports__date{color:var(--ink-muted);margin-bottom:4px;font-size:13px;font-weight:700}.admin-report-form{border-top:1px solid #1e305014;flex-direction:column;gap:12px;padding-top:18px;display:flex}.admin-materials{flex-direction:column;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.admin-upload-form{border-top:1px solid #1e305014;align-items:center;gap:12px;padding-top:18px;display:flex}.admin-field input,.admin-field textarea{color:var(--ink);border:1.5px solid #1e30502e;border-radius:10px;padding:10px 14px;font-family:inherit;font-size:15px}.admin-field input:focus,.admin-field textarea:focus{border-color:var(--accent);outline:none}.admin-login{background:linear-gradient(120deg,#fdf1f3 0%,#f6b9c4 38%,#ee7c93 68%,#de4863 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.admin-login__card{flex-direction:column;gap:16px;width:100%;max-width:360px;padding:32px;display:flex}.admin-login__icon{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.portal{background:#f7f8fb;min-height:100vh}.portal-loading{text-align:center;color:var(--ink-soft);padding:60px}.portal__header{background:#fff;justify-content:space-between;align-items:center;gap:20px;padding:18px 32px;display:flex;box-shadow:0 4px 14px #1e305014}.portal__brand{color:var(--ink);align-items:center;gap:10px;font-weight:700;display:flex}.portal__account{color:var(--ink-soft);align-items:center;gap:14px;font-size:14px;display:flex}.portal__content{max-width:800px;margin:0 auto;padding:36px 24px 80px}.portal-dashboard{flex-direction:column;gap:28px;display:flex}.portal-enrollment{padding:28px}.portal-enrollment__title{margin-bottom:8px}.portal-section-title{margin-top:32px;font-size:16px;font-weight:700}.portal-step-index--open{background:#1e30502e}.portal-step-index--in_progress{background:var(--accent)}.portal-step-index--done{background:var(--accent-dark)}.portal-step-badge{vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.portal-step-badge--open{color:var(--ink-soft);background:#1e30501a}.portal-step-badge--in_progress{color:var(--accent-dark);background:#2ecfcb2e}.portal-step-badge--done{color:var(--accent-dark);background:#1fb3b038}.portal-reports{flex-direction:column;gap:16px;margin:16px 0 0;padding:0;list-style:none;display:flex}.portal-report{color:var(--ink);border-top:1px solid #1e305014;padding-top:14px;font-size:14px;line-height:1.6}.portal-report__date{color:var(--ink-muted);margin-bottom:4px;font-size:13px;font-weight:700}.portal-materials{color:var(--ink);margin:16px 0 0;padding-left:20px}.portal-hint{color:var(--ink-muted);margin-top:12px;font-size:13px}.portal-error{color:var(--band-solid);font-weight:600}.portal-field{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.portal-field input{color:var(--ink);border:1.5px solid #1e30502e;border-radius:10px;padding:10px 14px;font-family:inherit;font-size:15px}.portal-field input:focus{border-color:var(--accent);outline:none}.portal-shell{background:linear-gradient(120deg,#fdf1f3 0%,#f6b9c4 38%,#ee7c93 68%,#de4863 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.portal-login__card{flex-direction:column;gap:16px;width:100%;max-width:380px;padding:32px;display:flex}.portal-login__brand{color:var(--ink);align-self:center;font-size:15px;font-weight:700}.portal-login__icon{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto;display:flex}.portal-login__message{color:var(--accent-dark);font-size:14px;font-weight:600}
