:root{
    --cor1: #000064;
    --cor2: #0189BB;
    --cor3: #EDF5F9;

    --branco: #fff;

    --zap: #29D166;

    --font1: montserrat;

    --scrollbarWidth: 14px;

    --transition1: .2s;
    --transition2: .4s;
    --transition3: .7s;
    --transition4: 1s;
}

@media(prefers-reduced-motion){
    :root{
        --transition1: 1.2s;
        --transition2: 1.4s;
        --transition3: 1.7s;
        --transition4: 2s;
    }
}

*{padding: 0;margin: 0;line-height: inherit;vertical-align: inherit;list-style: none;text-decoration: none;color: inherit;}

h1,h2,h3,h4,h5,h6 { display: inline; font: inherit; color: inherit; }
body::-webkit-scrollbar{width: var(--scrollbarWidth);transition: var(--transition2);}
body::-webkit-scrollbar-thumb{background: var(--cor2);transition: var(--transition2);}
body::-webkit-scrollbar-thumb:hover{background: var(--cor2);}
body::-webkit-scrollbar-track{position: absolute;right: 0;top: 0;background: transparent;}

.container{overflow: unset;}
.botao-padrao,
.whats-fixo,
.notification-popup,
.popup-bg .popup { will-change: transform; }

.botao-padrao:hover,
.whats-fixo:hover { will-change: auto; }

.conteudo-1130{width: 1130px;max-width: 90%;margin: 0 auto;--width: 1130px;}
.conteudo-1140{width: 1140px;max-width: 90%;margin: 0 auto;--width: 1140px;}
.conteudo-1200{width: 1200px;max-width: 90%;margin: 0 auto;--width: 1200px;}

.texto-com-hs > *{display: inline;}

.botao-padrao{display: flex;align-items: center;justify-content: center;gap: 6px;padding: 15px 14px 13px 17px;background: var(--cor1);transition: background-color var(--transition2), color var(--transition2);width: fit-content;font: 12.5px var(--font1);font-weight: 600;color: var(--cor1);}
.botao-padrao:hover{background: var(--cor2);}
.botao-padrao p{flex: 1 1 auto;}
.botao-padrao i{background-size: contain;background-position: center center;background-repeat: no-repeat;background-image: url('../img/icones/arrow2.svg');flex: 0 0 auto;width: 7px;height: 11px;display: block;}

.fill-end-screen{width: calc(100vw - var(--width) + 100% - (100vw - var(--width)) / 2 - var(--scrollbarWidth) + var(--scrollbarWidth) / 2);position: absolute;}

.imagem-fit > *{object-fit: contain;display: block;width: 100%;height: 100%;}

.lista-flex{--gapX: 0px;--gapY: 0px;--itens: 4;display: flex;align-items: flex-start;justify-content: flex-start;gap: var(--gapY) var(--gapX);flex-wrap: wrap;}
.lista-flex > *{flex: 0 0 auto;box-sizing: border-box;width: calc(100% / var(--itens) - var(--gapX) + var(--gapX) / var(--itens));}

@keyframes rotate-border {
    from {
      transform: rotate(135deg);
    }
    to {
      transform: rotate(495deg);
    }
}
.btn-saiba { display: flex; font: 600 11.21px montserrat; align-items: center; color: #26323D; z-index: 0; gap: 8px; position: relative; isolation: isolate; justify-content: center; background: #fff; border-radius: 16.7px; overflow: hidden; height: 35px; width: 110px; }
.btn-saiba::before { content: ''; position: absolute; inset: -180px; border-radius: inherit; background: conic-gradient(rgba(52, 168, 82, 0) 90deg, #263286 180deg, #6F9EC7 270deg); animation: rotate-border 3s linear infinite; z-index: -1; }
.btn-saiba::after { content: ''; position: absolute; inset: 2px; border-radius: inherit; background: #fff; z-index: -1; }
.btn-saiba-img { display: flex; align-items: center; justify-content: center; }


.notification-popup{position: fixed !important;top: 20px;right: 20px;max-width: 350px;min-width: 300px;background: #fff;border-radius: 12px;box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 4px 16px rgba(0, 0, 0, 0.08);border-left: 4px solid #48bb78;z-index: 9999;transform: translateX(100%);opacity: 0;transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);overflow: hidden;backdrop-filter: blur(10px);border: 1px solid rgba(255, 255, 255, 0.2);}
.notification-popup.show{transform: translateX(0);opacity: 1;}
.notification-popup.notification-error{border-left-color: #f56565;background: linear-gradient(135deg, #fff 0%, #fff5f5 100%);}
.notification-popup.notification-warning{border-left-color: #ecc94b;background: linear-gradient(135deg, #fff 0%, #fffbf0 100%);}
.notification-popup.notification-info{border-left-color: #4299e1;background: linear-gradient(135deg, #fff 0%, #f0f8ff 100%);}
.notification-popup.notification-success{background: linear-gradient(135deg, #fff 0%, #f0fff4 100%);}
.notification-content{display: flex;align-items: center;padding: 16px 20px;gap: 12px;cursor: pointer;position: relative;}
.notification-icon{font-size: 20px;font-weight: bold;color: #48bb78;flex-shrink: 0;width: 24px;height: 24px;display: flex;align-items: center;justify-content: center;border-radius: 50%;background: rgba(72, 187, 120, 0.1);}
.notification-error .notification-icon{color: #f56565;background: rgba(245, 101, 101, 0.1);}
.notification-warning .notification-icon{color: #ecc94b;background: rgba(236, 201, 75, 0.1);}
.notification-info .notification-icon{color: #4299e1;background: rgba(66, 153, 225, 0.1);}
.notification-message{font: 400 14px montserrat;color: #2d3748;font-weight: 500;line-height: 1.4;flex: 1;}
.notification-close{background: none;border: none;font-size: 18px;color: #a0aec0;cursor: pointer;padding: 4px;border-radius: 50%;width: 24px;height: 24px;display: flex;align-items: center;justify-content: center;transition: all 0.2s ease;flex-shrink: 0;}
.notification-close:hover{background: rgba(0, 0, 0, 0.1);color: #4a5568;}
.notification-progress{position: absolute;bottom: 0;left: 0;height: 3px;background: linear-gradient(90deg, #48bb78, #38a169);width: 100%;transform-origin: left;animation: progress 3s linear;}
.notification-error .notification-progress{background: linear-gradient(90deg, #f56565, #e53e3e);}
.notification-warning .notification-progress{background: linear-gradient(90deg, #ecc94b, #d69e2e);}
.notification-info .notification-progress{background: linear-gradient(90deg, #4299e1, #3182ce);}
.notification-popup:hover{transform: translateX(0) scale(1.02);box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15), 0 6px 20px rgba(0, 0, 0, 0.1);}
.notification-popup:hover .notification-progress{animation-play-state: paused;}
.notification-popup:focus{outline: 2px solid #4299e1;outline-offset: 2px;}
.notification-close:focus{outline: 2px solid #4299e1;outline-offset: 2px;}
.notification-popup{animation: slideInRight 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);}
.notification-popup.hiding{animation: slideOutRight 0.3s ease-in-out forwards;}
.notification-popup{position: relative;overflow: hidden;}
.notification-popup::before{content: '';position: absolute;top: 50%;left: 50%;width: 0;height: 0;border-radius: 50%;background: rgba(255, 255, 255, 0.3);transform: translate(-50%, -50%);transition: width 0.6s, height 0.6s;}
.notification-popup:active::before{width: 300px;height: 300px;}

@keyframes slideInRight {
    0%{transform: translateX(100%);opacity: 0;}
    60%{transform: translateX(-10px);opacity: 1;}
    100%{transform: translateX(0);opacity: 1;}
}
@keyframes slideOutRight {
    0%{transform: translateX(0);opacity: 1;}
    100%{transform: translateX(100%);opacity: 0;}
}
@keyframes progress {
    0%{transform: scaleX(1);}
    100%{transform: scaleX(0);}
}

.alert-tarefa { position: fixed !important; top: 120px; right: 30px; width: 400px; font-family: montserrat; border: none !important; margin-bottom: 8px; text-shadow: 0 -1px 1px rgba(0,0,0,.2); padding: 20px; padding-left: 80px; border-radius: 8px; z-index: 9999; transform: translateX(100%); opacity: 0; animation: bounceInRight 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards; }
.alert-tarefa.show { transform: translateX(0); opacity: 1; }
.alert-tarefa.hiding { animation: slideOutRight 0.3s ease-in-out forwards; }
.alert-tarefa .icon-tarefa { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; color: #eee; }
.alert-tarefa .icon-tarefa svg { width: 32px; height: 32px; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2)); }

.alert-tarefa .copy { padding-left: 20px; border-left: 1px solid rgba(255,255,255,.3); line-height: 1.2; }
.alert-tarefa .copy h4 { font-size: 16px; font-weight: 600; margin-bottom: 5px; color: #fff; }
.alert-tarefa .copy p { font-size: 14px; margin-bottom: 0; color: #fff; }

.alert-tarefa .close { opacity: 1; background-color: #fff; width: 30px; height: 30px; line-height: 26px; text-align: center; border-radius: 50%; border: 2px solid #333; position: absolute; top: 50%; right: -15px; transform: translateY(-50%); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; }
.alert-tarefa .close:hover { transform: translateY(-50%) scale(1.1); box-shadow: 0 4px 8px rgba(0,0,0,0.2); }

.alert-tarefa-urgente { background-color: #f56565; color: #fff; box-shadow: 0 0 20px 5px rgba(194, 0, 0, 0.3); }
.alert-tarefa-urgente .close { color: #f56565; border-color: #f56565; }

.alert-tarefa-para_hoje { background-color: #ecc94b; color: #fff; box-shadow: 0 0 20px 5px rgba(231, 182, 0, 0.4); }
.alert-tarefa-para_hoje .close { color: #ecc94b; border-color: #ecc94b; }

.alert-tarefa-sem_pressa { background-color: #A4B123; color: #fff; box-shadow: 0 0 20px 5px rgba(164, 177, 35, 0.5); }
.alert-tarefa-sem_pressa .close { color: #A4B123; border-color: #A4B123; }

.alert-tarefa-sem_classe { background-color: #A3ADB2; color: #fff; box-shadow: 0 0 20px 5px rgba(163, 173, 178, 0.5); }
.alert-tarefa-sem_classe .close { color: #A3ADB2; border-color: #A3ADB2; }


.alert-tarefa-acompanhamento_diario { background-color: #0007e5; color: #fff; box-shadow: 0 0 20px 5px rgba(3, 15, 179, 0.5); }
.alert-tarefa-acompanhamento_diario .close { color: #0007e5; border-color: #0007e5; }

@keyframes bounceInRight {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  60% {
    opacity: 1;
    transform: translateX(-15px);
  }
  80% {
    transform: translateX(5px);
  }
  100% {
    transform: translateX(0);
  }
}