@charset "UTF-8";body.portal{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;background:linear-gradient(135deg,#f8fafc,#e8eef3)}@media(max-width:480px){body.portal{padding:1.5rem}}.portal__header{text-align:center;margin-bottom:4rem;animation:fadeInDown .6s ease-out}@media(max-width:480px){.portal__header{margin-bottom:3rem}}.portal__title{font-size:clamp(1.5rem,6vw,2.5rem);font-weight:700;color:#333;letter-spacing:.05em;margin-bottom:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.05)}.portal__main{width:100%;max-width:600px;animation:fadeInUp .6s ease-out .2s both}.portal-nav__list{display:flex;flex-direction:column;gap:1.5rem}.portal-nav__item{opacity:0;animation:fadeInUp .5s ease-out forwards}.portal-nav__item:nth-child(1){animation-delay:.3s}.portal-nav__item:nth-child(2){animation-delay:.4s}.portal-nav__item:nth-child(3){animation-delay:.5s}.portal-nav__item:nth-child(4){animation-delay:.6s}.portal-nav__link{display:block;padding:2rem;background:#fff;border:2px solid transparent;border-radius:12px;font-size:1.125rem;font-weight:500;color:#333;text-align:center;box-shadow:0 1px 3px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.portal-nav__link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.portal-nav__link:hover{opacity:1;transform:translateY(-4px);border-color:#ff2d20;box-shadow:0 4px 16px #00000026;color:#ff2d20}.portal-nav__link:hover:before{left:100%}.portal-nav__link:active{transform:translateY(-2px)}@media(max-width:480px){.portal-nav__link{padding:1.5rem;font-size:16px}}.portal__footer{margin-top:4rem;text-align:center;animation:fadeIn .6s ease-out .8s both}@media(max-width:480px){.portal__footer{margin-top:3rem}}.portal__admin-link{display:inline-block;padding:1rem 2rem;color:#666;font-size:16px;border:1px solid #e0e0e0;border-radius:8px;transition:all .2s}.portal__admin-link:hover{opacity:1;background:#fff;border-color:#333;color:#333;box-shadow:0 1px 3px #0000001a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
