
.bg-menu-theme .menu-link, .bg-menu-theme .menu-horizontal-prev, .bg-menu-theme .menu-horizontal-next {
    color: #fff;
}
.bg-menu-theme {
  background: linear-gradient(135deg, #1a0d2e 0%, #2A2433 30%, #352241 70%, #3d2750 100%) !important;
  position: relative;
  overflow: hidden;
}

/* Efeito cristalizado de fundo para o menu */
.bg-menu-theme::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(circle at 25% 25%, rgba(139, 58, 156, 0.15) 0%, transparent 40%),
    radial-gradient(circle at 75% 75%, rgba(107, 44, 122, 0.12) 0%, transparent 40%),
    radial-gradient(circle at 50% 10%, rgba(77, 29, 90, 0.1) 0%, transparent 40%),
    radial-gradient(circle at 20% 80%, rgba(166, 84, 185, 0.08) 0%, transparent 40%);
  z-index: -2;
}

/* Padrão cristalizado sutil para o menu */
.bg-menu-theme::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    linear-gradient(45deg, transparent 45%, rgba(229, 212, 255, 0.01) 50%, transparent 55%),
    linear-gradient(-45deg, transparent 45%, rgba(139, 58, 156, 0.03) 50%, transparent 55%),
    linear-gradient(90deg, transparent 45%, rgba(107, 44, 122, 0.02) 50%, transparent 55%);
  background-size: 60px 60px, 40px 40px, 30px 30px;
  background-position: 0 0, 20px 20px, 40px 40px;
  z-index: -1;
  animation: menuCrystalShimmer 25s linear infinite;
}

/* Partículas cristalinas sutis para o menu */
.bg-menu-theme .menu-crystal-particle {
  position: absolute;
  width: 3px;
  height: 3px;
  background: rgba(229, 212, 255, 0.3);
  border-radius: 50%;
  box-shadow: 
    0 0 6px rgba(229, 212, 255, 0.2),
    0 0 12px rgba(139, 58, 156, 0.15);
  animation: menuFloatCrystals 20s linear infinite;
  z-index: 0;
}

.bg-menu-theme .menu-crystal-particle:nth-child(1) {
  top: 15%;
  left: 10%;
  animation-delay: 0s;
  animation-duration: 22s;
}

.bg-menu-theme .menu-crystal-particle:nth-child(2) {
  top: 45%;
  left: 80%;
  animation-delay: -5s;
  animation-duration: 18s;
}

.bg-menu-theme .menu-crystal-particle:nth-child(3) {
  top: 75%;
  left: 25%;
  animation-delay: -10s;
  animation-duration: 24s;
}

.bg-menu-theme .menu-crystal-particle:nth-child(4) {
  top: 25%;
  left: 60%;
  animation-delay: -15s;
  animation-duration: 20s;
}

.bg-menu-theme .menu-crystal-particle:nth-child(5) {
  top: 65%;
  left: 85%;
  animation-delay: -20s;
  animation-duration: 26s;
}

/* Efeito de brilho sutil para o menu */
.bg-menu-theme .menu-glow-effect {
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 58, 156, 0.06) 0%, transparent 70%);
  animation: menuPulseGlow 12s ease-in-out infinite;
  z-index: -1;
}

.bg-menu-theme .menu-glow-effect:nth-child(1) {
  top: 20%;
  left: 15%;
  animation-delay: 0s;
}

.bg-menu-theme .menu-glow-effect:nth-child(2) {
  top: 70%;
  right: 15%;
  animation-delay: -6s;
}

/* Flocos de neve sutis para o menu */
.bg-menu-theme .menu-snowflake {
  position: absolute;
  color: rgba(229, 212, 255, 0.4);
  font-size: 0.6em;
  animation: menuSnowFall linear infinite;
  z-index: 0;
  pointer-events: none;
  text-shadow: 0 0 6px rgba(229, 212, 255, 0.3);
}

.bg-menu-theme .menu-snowflake:nth-child(1) {
  left: 20%;
  font-size: 0.5em;
  animation-duration: 15s;
  animation-delay: 0s;
}

.bg-menu-theme .menu-snowflake:nth-child(2) {
  left: 40%;
  font-size: 0.7em;
  animation-duration: 18s;
  animation-delay: -3s;
}

.bg-menu-theme .menu-snowflake:nth-child(3) {
  left: 60%;
  font-size: 0.4em;
  animation-duration: 12s;
  animation-delay: -6s;
}

.bg-menu-theme .menu-snowflake:nth-child(4) {
  left: 80%;
  font-size: 0.6em;
  animation-duration: 20s;
  animation-delay: -9s;
}

.bg-menu-theme .menu-snowflake:nth-child(5) {
  left: 10%;
  font-size: 0.5em;
  animation-duration: 16s;
  animation-delay: -12s;
}

.bg-menu-theme .menu-snowflake:nth-child(6) {
  left: 70%;
  font-size: 0.8em;
  animation-duration: 14s;
  animation-delay: -15s;
}

/* Efeito de ondulação sutil para o menu */
.bg-menu-theme .menu-wave-effect {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: 
    radial-gradient(ellipse at top left, rgba(139, 58, 156, 0.05) 0%, transparent 50%),
    radial-gradient(ellipse at bottom right, rgba(107, 44, 122, 0.04) 0%, transparent 50%);
  animation: menuWaveMotion 16s ease-in-out infinite;
  z-index: -1;
}

/* Animações para o menu */
@keyframes menuCrystalShimmer {
  0% {
    background-position: 0 0, 20px 20px, 40px 40px;
    transform: translateX(0) translateY(0);
  }
  25% {
    background-position: 15px 15px, 35px 35px, 55px 55px;
    transform: translateX(-5px) translateY(2px);
  }
  50% {
    background-position: 30px 30px, 50px 50px, 70px 70px;
    transform: translateX(0) translateY(-5px);
  }
  75% {
    background-position: 45px 45px, 65px 65px, 85px 85px;
    transform: translateX(5px) translateY(2px);
  }
  100% {
    background-position: 60px 60px, 80px 80px, 100px 100px;
    transform: translateX(0) translateY(0);
  }
}

@keyframes menuFloatCrystals {
  0% {
    transform: translateY(0px) rotate(0deg);
    opacity: 0;
  }
  15% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    transform: translateY(-30px) rotate(180deg);
    opacity: 0;
  }
}

@keyframes menuPulseGlow {
  0%, 100% {
    opacity: 0.2;
    transform: scale(1);
  }
  50% {
    opacity: 0.4;
    transform: scale(1.1);
  }
}

@keyframes menuSnowFall {
  0% {
    top: -50px;
    opacity: 0;
    transform: translateX(0) rotate(0deg);
  }
  15% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
    top: 100%;
    opacity: 0;
    transform: translateX(30px) rotate(180deg);
  }
}

@keyframes menuWaveMotion {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  33% {
    transform: translateY(-3px) scale(1.01);
  }
  66% {
    transform: translateY(2px) scale(0.99);
  }
}

.menu-vertical .menu-item.active:not(.open)>.menu-link {
    font-weight: 800!important;
    color: #fff!important;
}

.bg-menu-theme .menu-header {
    color: #35304E !important;
}
.layout-wrapper:not(.layout-horizontal) .bg-menu-theme .menu-inner .menu-item .menu-link {
    border-radius: 20px;
}
.avatar-xs {
    width: 1.225rem!important;
    height: 1.225rem!important;
}

body{
background: #ffffff;
}

.nav-pills .nav-link.active, .nav-pills .nav-link.active:hover, .nav-pills .nav-link.active:focus {
    background-color: #35304E;
    color: #fff;
    box-shadow: 0 2px 4px #35304E;
}


.bg-menu-theme .menu-item.active>.menu-link:not(.menu-toggle) {
    background-color: #35304E !important;
}
.bg-menu-theme .menu-inner>.menu-item.active>.menu-link {
    color: #FFFFFF !important;
    font-weight: 800 !important;
    background-color: #35304E !important;
}


.event-timeline {
    position: relative;
    display: flex;
    margin-top: 10px;
    padding-bottom: 20px;
    border: 1px solid #eaeaea;
    border-radius: 10px;
    overflow: hidden;
    background-color: #fafafa;
}

.time-slots {
    display: flex;
    flex-direction: column;
    width: 60px;
    background-color: white;
    z-index: 1;
}

.time-slot {
    height: 50px;
    font-size: 14px;
    color: #888;
    display: flex;
    align-items: flex-start;
    padding-top: 10px;
    padding-left: 10px;
    border-top: 1px dashed #e0e0e0;
    font-weight: 400;
}

.timeline-lines {
    position: absolute;
    left: 60px;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 0;
}

.timeline-line {
    height: 50px;
    border-top: 1px dashed #e0e0e0;
}

.scheduled-events {
    /*position: relative;*/
    flex-grow: 1;
    border-left: 1px solid #e0e0e0;
    margin-left: 10px;
    min-height: 400px;
}

.event-item {
    position: absolute;
    width: calc(80% - 2px);
    max-width: 400px;
    padding: 8px;
    border-radius: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    z-index: 2;
    transition: all 0.2s ease;
    margin-right: 20px;
}

.event-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    z-index: 3;
}

.event-time {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 8px;
    color: rgba(0, 0, 0, 0.7);
}

.event-content {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: rgba(0, 0, 0, 0.75);
    font-weight: normal;
}

.event-content p {
    margin: 0;
    flex: 1;
    padding-right: 8px;
}

.event-image {
    width: 45px;
    height: 45px;
    background-size: cover;
    background-position: center;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #666;
    background-color: rgba(255,255,255,0.5);
}

.form-check-input:checked, .form-check-input[type=checkbox]:indeterminate {
    background-color: #596DFF;
    border-color: #596DFF;
    box-shadow: 0 2px 4px #596DFF;
}

.input-group-text {
    display: flex
;
    align-items: center;
    padding: .4375rem .875rem;
    font-size: .9375rem;
    font-weight: 400;
    line-height: 2.1;
    color: #412fc2;
    text-align: center;
    white-space: nowrap;
    background-color: #fff;
    border: 1px solid #d9dee3;
    border-radius: .375rem;
}

.form-control {
    display: block;
    width: 100%;
    padding: 0.4375rem 0.875rem;
    font-size: .9375rem;
    font-weight: 400;
    line-height: 2.1;
    color: #697a8d;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #d9dee3;
    appearance: none;
    border-radius: 0.99rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.kanban-column {
    height: calc(100vh - 200px);
    max-height: 800px;
}

.kanban-column-body {
    overflow-y: auto;
    overflow-x: hidden;
}

.task-card {
    cursor: grab;
    transition: transform 0.2s;
}

.task-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.kanban-board {
    min-height: 400px;
}
.kanban-board {
    position: relative;
    float: left;
    background: #F5F5F9!important;
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

@media (max-width: 768px) {
    .kanban-column {
        height: auto;
        max-height: none;
    }
}

@keyframes blob {
    0% {
        transform: translate(0px, 0px) scale(1);
    }
    33% {
        transform: translate(30px, -50px) scale(1.1);
    }
    66% {
        transform: translate(-20px, 20px) scale(0.9);
    }
    100% {
        transform: translate(0px, 0px) scale(1);
    }
}

.animate-blob {
    animation: blob 7s infinite;
}

.animation-delay-2000 {
    animation-delay: 2s;
}

.animation-delay-4000 {
    animation-delay: 4s;
}






.form-select {
    display: block;
    width: 100%;
    padding: 0.4375rem 1.875rem 0.4375rem 0.875rem;
    -moz-padding-start: calc(.875rem - 3px);
    font-size: .9375rem;
    font-weight: 400;
    line-height: 2.1;
    color: #697a8d;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: right 0.875rem center;
    background-size: 17px 12px;
    border: 1px solid #d9dee3;
    border-radius: 0.99rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    appearance: none;
}
.select2-container--classic .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #5371FF !important;
    color: #fff !important;
}

.light-style .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 2.25rem;
    color: #5371FF;
    padding-left: 0.875rem;
}

.select2-container--default .select2-selection--single {
    background-color: #fff;
    border: 1px solid #D9DEE2;
    border-radius: 0.99rem!important;
}
.select2-container .select2-selection--single {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 45px!important;
    user-select: none;
    -webkit-user-select: none;
}

.select2-container--default .select2-selection--multiple {
    background-color: white;
    border: 1px solid #D9DEE2;
    border-radius: 0.99rem!important;
    cursor: text;
    padding-bottom: 5px;
    padding-right: 5px;
    position: relative;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #697A8D!important;
    line-height: 40px!important;
}
.select2-container .select2-selection--multiple {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    min-height: 45px!important;
    user-select: none;
    -webkit-user-select: none;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border: solid #D9DEE2 1px!important;
    outline: 0;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #ECF2FF!important;
    color: #387DFF!important;
    border: 1px solid #387DFF!important;
    border-radius: 0.99rem!important;
    box-sizing: border-box;
    display: inline-block;
    margin-left: 5px;
    margin-top: 5px;
    padding: 0;
    padding-left: 20px;
    position: relative;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    white-space: nowrap;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    background-color: transparent;
    border: none;
    border-right: 1px solid #387DFF!important;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    color: #387DFF!important;
    cursor: pointer;
    font-size: 1em;
    font-weight: bold;
    padding: 0 4px;
    position: absolute;
    left: 0;
    top: 0;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-right: 2.25rem;
}
.select2-container .select2-selection--single .select2-selection__rendered {
    display: block;
    padding-left: 8px;
    padding-right: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.menu-icon {
    flex-grow: 0;
    flex-shrink: 0;
    margin-right: 0.5rem;
    font-size: 0.95rem;
    color: #fff;
}

/*.bg-menu-theme .menu-inner>.menu-item.active>.menu-link {*/
/*    color: #387DFF;*/
/*    background-color: #FFFFFF !important;*/
/*}*/
.bg-menu-theme .menu-inner>.menu-item.active:before {
    background: #AA9AF2;
}




html:not(.layout-menu-collapsed) .bg-menu-theme .menu-inner .menu-item.open>.menu-link, .layout-menu-hover.layout-menu-collapsed .bg-menu-theme .menu-inner .menu-item.open>.menu-link, html:not(.layout-menu-collapsed) .bg-menu-theme .menu-inner .menu-item .menu-link:not(.active):hover, .layout-menu-hover.layout-menu-collapsed .bg-menu-theme .menu-inner .menu-item .menu-link:not(.active):hover {
    background-color: #35304E;
    color: #ffffff;
}


/*html:not(.layout-menu-collapsed) .bg-menu-theme .menu-inner .menu-item.open>.menu-link, .layout-menu-hover.layout-menu-collapsed .bg-menu-theme .menu-inner .menu-item.open>.menu-link, html:not(.layout-menu-collapsed) .bg-menu-theme .menu-inner .menu-item .menu-link:not(.active):hover, .layout-menu-hover.layout-menu-collapsed .bg-menu-theme .menu-inner .menu-item .menu-link:not(.active):hover {*/
/*    background-color: #E5E7EA;*/
/*    color: #000000;*/
/*}*/
.bg-menu-theme .menu-item.open:not(.menu-item-closing)>.menu-toggle, .bg-menu-theme .menu-item.active>.menu-link {
    color: #ffffff;
}

.bg-menu-theme .menu-item.active>.menu-link:not(.menu-toggle) {
    background-color: #4e2bd0;
}

.bg-menu-theme .menu-header {
    color: #4e2bd0;
}

.bg-menu-theme.menu-vertical {
     box-shadow: 0 .125rem .375rem #a1acb81f;
}


.bg-gray-100 {
    color: #000;
    background-color: #f5f4f7;
}

/*icon-background*/

.bg-label-primary {
    background-color: #ECF2FF!important;
    color: #387DFF!important;
}
.bg-label-purple {
    background-color: #C8A3F7!important;
    color: #000000!important;
}
.bg-label-warning {
    background-color: #FFF8ED!important;
    color: #FFAB05!important;
}
.bg-label-yellow {
    background-color: #FCD39C!important;
    color: #000!important;
}
.bg-label-secondary {
    background-color: #E7E8EC!important;
    color: #1E2022 !important;
}
.bg-label-danger-soft {
    background-color: #FFF5F8!important;
    color: #F0406C !important;
}
.bg-label-danger {
    background-color: #FFD3E8!important;
    color: #000 !important;
}
.bg-label-light {
    background-color: #e9e8ed!important;
    color: #17161a!important;
}
.bg-label-success-soft {
    background-color: #E8FFF3 !important;
    color: #3b6b51!important;
}
.bg-label-success {
    background-color: #BFFDBE !important;
    color: #3b6b51!important;
}
.bg-label-success-alt {
    background-color: #add8d2!important;
    color: #100b1d!important;
}


.bg-primary {
    background-color: #5c3edf !important;

}

.bg-purple {
    background-color: #9494F7!important;

}
.bg-secondary {
    background-color: #AFB4D1!important;

}

.bg-light {
    background-color: #EADFFC !important;

}
.bg-danger {
    background-color: #D45CB1 !important;

}
.bg-danger-alt {
    background-color: #E96A3E!important;

}
.bg-warning{
    background-color: #FFE01A !important;

}
.bg-mute{
    width: 40px;
    height: 40px;
    background-color: rgba(255,255,255,0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;

}
.bg-dark{
    background-color: #132144!important;

}
.bg-white{
    background-color: #FFFFFF!important;

}
.bg-dark-alt{
    background-color: #202443!important;

}
.bg-blue-alt{
    background-color: #2E325C!important;

}
.bg-blue{
    background-color: #35A9FF!important;

}
.bg-black{
    background-color: #1f1a2c!important;

}
.bg-card{
    background-color: #F7EDEB!important;

}
.bg-card-light{
    background-color: #F1EBFC!important;

}
.bg-card-warning{
    background-color: #F2F2E8!important;

}
.bg-success {
    background-color: #34D399 !important;
}
.bg-success-alt {
    background-color: #8ABF41!important;
}

.bg-green {
    background-color: #E4FEB3!important;
}


.bg-info{
    background-color: #4B4ACE !important;

}
.bg-info-alt{
    background-color: #3A56E4 !important;

}

.bg-primary-gradient {

    background: linear-gradient(90deg, rgba(140,82,255,1) 0%, rgba(114,82,255,1) 0%, rgba(183,82,255,1) 100%, rgba(75,152,168,1) 100%, rgba(140,82,255,1) 100%, rgba(189,123,10,1) 100%, rgba(210,27,60,1) 100%);!important;

}
.canvas-card {
    height: 100%;
    border-radius: 10px;
    border: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transition: transform 0.2s;
    overflow: hidden;
}
.canvas-card:hover {
    transform: translateY(-5px);
}
.canvas-header {
    padding: 15px 20px;
    color: white;
    font-weight: 600;
}
.canvas-body {
    padding: 20px;
    height: calc(100% - 70px);
}
.canvas-description {
    font-size: 0.8rem;
    opacity: 0.8;
    margin-bottom: 15px;
}
.big-number {
    position: absolute;
    bottom: 10px;
    right: 15px;
    font-size: 5rem;
    font-weight: 700;
    opacity: 0.2;
    line-height: 1;
}

.icon-container {
    width: 40px;
    height: 40px;
    background-color: rgba(255,255,255,0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
}



.swot-container {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    padding: 30px 0;
}

.swot-central-circle {
    position: absolute;
    width: 220px;
    height: 220px;
    background-color: white;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
}

.swot-central-circle h2 {
    color: #333366;
    font-weight: bold;
    margin: 0;
    text-align: center;
    font-size: 1.8rem;
}

.swot-central-circle h3 {
    font-size: 2.2rem;
    margin: 0;
    font-weight: bold;
    color: #333366;
}

.swot-central-circle .underline {
    height: 4px;
    width: 120px;
    background: linear-gradient(90deg, #f5a623, #4a90e2);
    margin: 5px 0;
    border-radius: 2px;
}

.quadrant {
    height: 300px;
    border-radius: 15px;
    padding: 25px;
    margin: 10px;
    position: relative;
    overflow: hidden;
}

.strengths {
    background-color: #e6e6fa;
    color: #333366;
}

.weaknesses {
    background-color: #e0f7f5;
    color: #333366;
}

.opportunities {
    background-color: #e0f7f5;
    color: #333366;
}

.threats {
    background-color: #e6e6fa;
    color: #333366;
}

.quadrant h4 {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 20px;
}

.letter-bg {
    position: absolute;
    font-size: 160px;
    font-weight: bold;
    opacity: 0.2;
    bottom: -40px;
    right: 20px;
    z-index: 0;
}

.s-letter { color: #5b5bed; }
.w-letter { color: #19a3a3; }
.o-letter { color: #19a3a3; }
.t-letter { color: #5b5bed; }

.quadrant-icon {
    margin-right: 15px;
    width: 40px;
    height: 40px;
}

.quadrant-title {
    display: flex;
    align-items: center;
}

.bullet-list {
    list-style: none;
    padding-left: 0;
    position: relative;
    z-index: 1;
}

.bullet-list li {
    margin-bottom: 14px;
    padding-left: 25px;
    position: relative;
    font-size: 0.95rem;
}

.strengths .bullet-list li:before {
    content: "•";
    color: #5b5bed;
    font-size: 22px;
    position: absolute;
    left: 0;
    top: -3px;
}

.weaknesses .bullet-list li:before {
    content: "•";
    color: #19a3a3;
    font-size: 22px;
    position: absolute;
    left: 0;
    top: -3px;
}

.opportunities .bullet-list li:before {
    content: "•";
    color: #19a3a3;
    font-size: 22px;
    position: absolute;
    left: 0;
    top: -3px;
}

.threats .bullet-list li:before {
    content: "•";
    color: #5b5bed;
    font-size: 22px;
    position: absolute;
    left: 0;
    top: -3px;
}

.arc-slice {
    position: absolute;
    width: 100px;
    height: 100px;
    z-index: 5;
}
.max-height-70 {
    max-height: 70px;
}
.max-height-80 {
    max-height: 80px;
}
.max-height-44 {
    max-height: 44px;
}
.max-height-65 {
    max-height: 65px;
}
.max-height-50 {
    max-height: 50px;
}

.project-header {
    background-color: white;
    border-bottom: 1px solid #e9ecef;
    padding: 15px 20px;
}
.project-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

    .bg-info-gradient{

    background: linear-gradient(90deg, rgba(140,82,255,1) 0%, rgba(140,82,255,1) 9%, rgba(92,225,230,1) 86%, rgba(82,231,255,1) 100%, rgba(75,152,168,1) 100%, rgba(140,82,255,1) 100%, rgba(189,123,10,1) 100%, rgba(210,27,60,1) 100%);!important;

}
.bg-info-light{
    color: #ECF2FF!important;
}
/*texts*/

.text-primary {
    color: #387DFF!important;
}
.text-success {
    color: #05be6b !important;
}
.text-danger {
    color: #ED4C78!important;
}
.text-purple {
    color: #9494F7!important;
}


.nav .nav-link:hover, .nav .nav-link:focus {
    color: #6A6CFF;
    background-color: #E7E7FF;
}


/*buttons*/


.btn-primary {
    color: #fff;
    background-color: #387DFF;
    border-color: #387DFF;
    border-radius: 0.3125rem;

}
btn-info {
    color: #fff;
    background-color: #5D3EDF!important;
    border-color: #5D3EDF!important;
    border-radius: 0.3125rem!important;

}

.btn-secondary {
    color: #2E0A93;
    background-color: #e1ddf0;
    border-color: #e1ddf0;
    border-radius: 0.3125rem

}
.btn-dark {
    color: #fff;
    background-color: #132144;
    border-color: #132144;
    border-radius: 0.3125rem

}
.btn-success {
    color: #fff;
    background-color: #04C9A6;
    border-color: #effbd8;
    border-radius: 0.3125rem;

}
.btn-danger {
    color: #effbd8;
    background-color: #ED4C78;
    border-color: #ED4C78;
    border-radius: 0.3125rem;

}

.border-radius-md{
    border-radius: 0.9rem;

}


/*cards*/
.app-document-canvas {
    /* border-style: solid; */
    border-color: #CCCED1;
    border-width: 0 1px 1px;
    border-radius: 3px;
    /* padding: clamp(1rem,0.85rem + 0.74vw,1.5rem); */
    background-color: #ffffff;
    overflow-x: hidden;
    max-height: 80vh;
}

.overflow-auto {
    overflow: auto !important;
}

.overflow-hidden {
    overflow: hidden !important;
}

.overflow-visible {
    overflow: visible !important;
}

.overflow-scroll {
    overflow: scroll !important;
}

.ps {
    overflow: hidden !important;
    overflow-anchor: none;
    -ms-overflow-style: none;
    touch-action: auto;
    -ms-touch-action: auto;
}

.chat-container {
    /* Other container styles */

    position: absolute; width: 100%; overflow-x: hidden
}

.overflow-x-hidden {
    overflow-x: hidden !important;
}

.chat-messages {
    /* Other chat message styles */
    overflow: hidden;
}

.card-body-messages{
    max-height: calc(100vh - 120px);
    min-height: 500px;
}


.bg-label-info {
    background-color: #8D78E9!important;
    color: #fff!important;
}


.menu-vertical .menu-item .menu-link {
    font-size: .9rem;
}


.app-avatar-text {
    display: inline-block;
    font-size: 1.2em;
    width: 42px;
    height: 42px;
    line-height: 2.2em;
    text-align: center;
    border-radius: 50%;
    background: #387DFF;
    vertical-align: middle;
    color: #ffffff;
    font-weight: 500;
}


.timeline .timeline-item .timeline-point {
    position: absolute;
    left: -0.312rem;
    top: 0;
    z-index: 2;
    display: block;
    height: 0.75rem;
    width: 0.75rem;
    border-radius: 50%;
    background-color: #696cff;
}
.timeline .timeline-point-primary {
    background-color: #696cff !important;
    box-shadow: 0 0 0 0.1875rem rgba(105,108,255,.16);
}
.timeline .timeline-item {
    position: relative;
    padding-left: 3rem;
}
*, *::before, *::after {
    box-sizing: border-box;
}

li {
    display: list-item;
    text-align: -webkit-match-parent;
}
.timeline {
    position: relative;
    height: 100%;
    width: 100%;
    padding: 0;
    list-style: none;
}

html:not([dir=rtl]) .timeline .timeline-item.timeline-item-transparent .timeline-event {
    padding-left: 0;
}
.timeline .timeline-item.timeline-item-transparent .timeline-event {
    top: -1.4rem;
    background-color: rgba(213, 115, 115, 0);
}
.timeline .timeline-item .timeline-event {
    position: relative;
    top: -1rem;
    width: 100%;
    min-height: 4rem;
    background-color: #fff;
    border-radius: 0.375rem;
    padding: 1.25rem 1.5rem;
}
*, *::before, *::after {
    box-sizing: border-box;
}
timeline .timeline-item {
    position: relative;
    padding-left: 3rem;
}
.timeline .timeline-item .timeline-point {
    position: absolute;
    left: -0.312rem;
    top: 0;
    z-index: 2;
    display: block;
    height: 0.75rem;
    width: 0.75rem;
    border-radius: 50%;
    background-color: #696cff;
}

.reveal .slides section {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #333;
}

.reveal .slides section div.card {
    width: 100%;
    max-width: 800px;
    transform-style: preserve-3d;
    transition: transform 0.3s;
    margin: auto;
}

.reveal .slides section div.card div.card-body {
    position: absolute;
    width: 100%;
    backface-visibility: hidden;
    padding: 2em;
    border-radius: 0.5em;
    box-shadow: rgba(46, 56, 86, 0.08) 0 4px 16px 0;
    background: #fff;
    cursor: pointer;
}

.reveal .slides section div.card.flipped {
    transform: rotateY(180deg);
}

.reveal .slides section div.card div.back {
    transform: rotateY(180deg);
}

.reveal-viewport {
    background: #F3F5FB;
}


.fc .fc-button-primary:not(.fc-prev-button):not(.fc-next-button).fc-button-active, .fc .fc-button-primary:not(.fc-prev-button):not(.fc-next-button):hover {
    background-color: #696cff !important;
    border-color: #696cff !important;
    color: #fff;
}
.fc .fc-toolbar .fc-button:not(.fc-next-button):not(.fc-prev-button) {
    padding: 0.438rem 1.125rem;
}
.fc .fc-button-primary:not(.fc-prev-button):not(.fc-next-button) {
    background-color: rgba(105,108,255,.08) !important;
    border: 0;
    color: #696cff;
}
.fc .fc-toolbar .fc-button-group .fc-button {
    text-transform: capitalize;
}

 .fc-direction-ltr .fc-button-group > .fc-button:not(:last-child) {
     border-bottom-right-radius: 0px;
     border-top-right-radius: 0px;
 }

 .fc .fc-button-group > .fc-button.fc-button-active, .fc .fc-button-group > .fc-button:active, .fc .fc-button-group > .fc-button:focus, .fc .fc-button-group > .fc-button:hover {
     z-index: 1;
 }

 .fc .fc-button-primary:not(:disabled).fc-button-active, .fc .fc-button-primary:not(:disabled):active {
     background-color: var(--fc-button-active-bg-color);
     border-color: var(--fc-button-active-border-color);
     color: var(--fc-button-text-color);
 }

 .fc .fc-button-group > .fc-button {
     flex: 1 1 auto;
     position: relative;
 }

 .fc .fc-button:not(:disabled) {
     cursor: pointer;
 }
button:not(:disabled), [type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled) {
    cursor: pointer;
}

 .fc .fc-button-primary {
     background-color: var(--fc-button-bg-color);
     border-color: var(--fc-button-border-color);
     color: var(--fc-button-text-color);
 }

 .fc .fc-button {
     background-color: transparent;
     border: 1px solid transparent;
     border-radius: 0.25em;
     display: inline-block;
     font-size: 1em;
     font-weight: 400;
     line-height: 1.5;
     padding: 0.4em 0.65em;
     text-align: center;
     user-select: none;
     vertical-align: middle;
 }

 .fc .fc-button {
     appearance: button;
 }

.fc-direction-ltr .fc-daygrid-event .fc-event-time {
    margin-right: 3px;
}
.fc-timegrid-event, .fc-timegrid-more-link {
    font-size: 1rem;
    border-radius: 5px;
}
.fc .fc-h-event .fc-event-main, .fc .fc-v-event .fc-event-main {
    color: #644CA6 !important;
    background-color: #FAF4FF !important;
    border: 1px solid #FAF4FF;

}
.fc table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 1.04em;
}

.fc-v-event {
    display: block;
    border: 1px solid var(--fc-event-border-color, #FAF4FF);
    background-color: #FAF4FF;

}
.fc-daygrid-event-dot {
    margin: 0 4px;
    box-sizing: content-box;
    width: 0;
    height: 0;
    border: 4px solid #5c3edf;
    border: calc(var(--fc-daygrid-event-dot-width, 8px) / 2) solid #5c3edf;
    border-radius: 4px;
    border-radius: calc(var(--fc-daygrid-event-dot-width, 8px) / 2);
}
.card {
    --bs-card-spacer-y: 1.5rem;
    --bs-card-spacer-x: 1.5rem;
    --bs-card-title-spacer-y: .875rem;
    --bs-card-border-width: 0;
    --bs-card-border-color: #d9dee3;
    --bs-card-border-radius: .5rem;
    --bs-card-box-shadow: 0 2px 6px 0 rgba(67, 89, 113, .12);
    --bs-card-inner-border-radius: .5rem;
    --bs-card-cap-padding-y: 1.5rem;
    --bs-card-cap-padding-x: 1.5rem;
    --bs-card-cap-bg: transparent;
    --bs-card-cap-color: ;
    --bs-card-height: ;
    --bs-card-color: ;
    --bs-card-bg: #fff;
    --bs-card-img-overlay-padding: 1.5rem;
    --bs-card-group-margin: .8125rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--bs-card-height);
    word-wrap: break-word;
    background-clip: border-box;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: 10px;
}

.rounded {
    border-radius: 10px !important;
}

.badge {
    --bs-badge-padding-x: .593em;
    --bs-badge-padding-y: .52em;
    --bs-badge-font-size: .8125em;
    --bs-badge-font-weight: 500;
    --bs-badge-color: #fff;
    --bs-badge-border-radius: .25rem;
    display: inline-block;
    padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
    font-size: var(--bs-badge-font-size);
    font-weight: var(--bs-badge-font-weight);
    line-height: 1;
    color: var(--bs-badge-color);
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 5px;
}


/* public/css/ikigai.css */

/* Ikigai Diagram Styling */
.ikigai-diagram {
    position: relative;
    max-width: 600px;
    margin: 0 auto;
}

.ikigai-diagram svg {
    width: 100%;
    height: auto;
    overflow: visible;
}

/* Circle styling */
.ikigai-diagram svg circle {
    transition: all 0.3s ease;
}

.ikigai-diagram svg circle:hover {
    filter: brightness(1.1);
    cursor: pointer;
}

/* Text styling */
.ikigai-diagram svg text {
    font-family: 'Arial', sans-serif;
    transition: all 0.3s ease;
}

.ikigai-diagram .small {
    font-size: 10px;
}

.ikigai-diagram .medium {
    font-size: 12px;
}

/* Interactive text elements */
.ikigai-text {
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 5px;
    border-radius: 4px;
}

.ikigai-text:hover {
    background-color: rgba(255, 255, 255, 0.7);
    transform: scale(1.05);
}

/* Popover customization */
.popover {
    max-width: 300px;
}

.popover-body {
    padding: 12px;
    font-size: 14px;
}

/* Form styling */
.ikigai-form-container textarea {
    transition: all 0.3s ease;
}

.ikigai-form-container textarea:focus {
    box-shadow: 0 0 0 0.25rem rgba(170, 184, 44, 0.25);
    border-color: #AAB82C;
}

/* Card styling */
.ikigai-card {
    transition: all 0.3s ease;
    border-radius: 8px;
    overflow: hidden;
}

.ikigai-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* Section colors */
.section-love {
    background-color: #FEFFA3;
}

.section-good {
    background-color: #D6F6A7;
}

.section-paid {
    background-color: #A5F2E7;
}

.section-needs {
    background-color: #FFC6C6;
}

.section-passion {
    background-color: #D8E76F;
}

.section-mission {
    background-color: #F2C76E;
}

.section-profession {
    background-color: #8CD9B3;
}

.section-vocation {
    background-color: #C6C6C6;
}

.section-ikigai {
    background-color: #AAB82C;
    color: #ffffff;
}

/* Suggestions */
.suggestion-hint {
    animation-duration: 0.5s;
    border-left: 4px solid #AAB82C;
}

.suggestion-btn {
    transition: all 0.3s ease;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .ikigai-diagram {
        max-width: 400px;
    }

    .ikigai-text {
        font-size: 12px;
    }
}

@media (max-width: 576px) {
    .ikigai-diagram {
        max-width: 320px;
    }

    .ikigai-text {
        font-size: 10px;
    }
}

/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes pulseGlow {
    0% {
        filter: drop-shadow(0 0 0px rgba(170, 184, 44, 0.5));
    }
    50% {
        filter: drop-shadow(0 0 8px rgba(170, 184, 44, 0.8));
    }
    100% {
        filter: drop-shadow(0 0 0px rgba(170, 184, 44, 0.5));
    }
}

.pulse-animation {
    animation: pulseGlow 2s infinite;
}

/* Print styles for sharing/exporting */
@media print {
    .ikigai-diagram {
        max-width: 100%;
        page-break-inside: avoid;
    }

    .no-print {
        display: none !important;
    }

    .card {
        border: 1px solid #ddd !important;
        box-shadow: none !important;
    }
}

:root {
    --auth-primary-gradient-start: #110529;
    --auth-primary-gradient-end: #05040b;
    --auth-accent-color: #53b1fd;
    --auth-glass-bg: rgba(30, 20, 70, 0.3);
    --auth-glass-border: rgba(78, 67, 118, 0.3);
    --auth-text-light: #ffffff;
    --auth-text-secondary: rgba(255, 255, 255, 0.7);
    --auth-button-gradient-start: #42d483;
    --auth-button-gradient-end: #19d16f;
    --auth-box-shadow: 0 8px 32px 0 rgba(10, 5, 33, 0.37);
    --auth-card-bg: rgba(40, 31, 79, 0.4);
}

.auth-container {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 1;
  background: linear-gradient(135deg, #1a0d2e 0%, #2d1b3d 25%, #4a1d5a 50%, #6b2c7a 75%, #8b3a9c 100%);
  background-attachment: fixed;
  color: #e5d4ff;
  font-family: 'Inter', 'Segoe UI', sans-serif;
  overflow: hidden;
}

/* Efeito cristalizado de fundo */
.auth-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(circle at 20% 30%, rgba(139, 58, 156, 0.3) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(107, 44, 122, 0.25) 0%, transparent 50%),
    radial-gradient(circle at 40% 80%, rgba(77, 29, 90, 0.2) 0%, transparent 50%),
    radial-gradient(circle at 60% 20%, rgba(166, 84, 185, 0.15) 0%, transparent 50%);
  z-index: -3;
}

/* Padrão cristalizado animado */
.auth-container::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    linear-gradient(45deg, transparent 40%, rgba(229, 212, 255, 0.02) 50%, transparent 60%),
    linear-gradient(-45deg, transparent 40%, rgba(139, 58, 156, 0.05) 50%, transparent 60%),
    linear-gradient(90deg, transparent 40%, rgba(107, 44, 122, 0.03) 50%, transparent 60%);
  background-size: 120px 120px, 80px 80px, 60px 60px;
  background-position: 0 0, 40px 40px, 80px 80px;
  z-index: -2;
  animation: crystalShimmer 20s linear infinite;
}

/* Partículas cristalinas flutuantes */
.auth-container .crystal-particle {
  position: absolute;
  width: 6px;
  height: 6px;
  background: rgba(229, 212, 255, 0.6);
  border-radius: 50%;
  box-shadow: 
    0 0 10px rgba(229, 212, 255, 0.4),
    0 0 20px rgba(139, 58, 156, 0.3),
    0 0 30px rgba(107, 44, 122, 0.2);
  animation: floatCrystals 15s linear infinite;
  z-index: -1;
}

.auth-container .crystal-particle:nth-child(1) {
  top: 10%;
  left: 20%;
  animation-delay: 0s;
  animation-duration: 18s;
}

.auth-container .crystal-particle:nth-child(2) {
  top: 30%;
  left: 80%;
  animation-delay: -3s;
  animation-duration: 22s;
}

.auth-container .crystal-particle:nth-child(3) {
  top: 60%;
  left: 15%;
  animation-delay: -6s;
  animation-duration: 16s;
}

.auth-container .crystal-particle:nth-child(4) {
  top: 80%;
  left: 70%;
  animation-delay: -9s;
  animation-duration: 20s;
}

.auth-container .crystal-particle:nth-child(5) {
  top: 25%;
  left: 50%;
  animation-delay: -12s;
  animation-duration: 24s;
}

/* Efeito de brilho pulsante */
.auth-container .glow-effect {
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139, 58, 156, 0.1) 0%, transparent 70%);
  animation: pulseGlow 8s ease-in-out infinite;
  z-index: -2;
}

.auth-container .glow-effect:nth-child(1) {
  top: 10%;
  left: 10%;
  animation-delay: 0s;
}

.auth-container .glow-effect:nth-child(2) {
  top: 60%;
  right: 10%;
  animation-delay: -4s;
}

.auth-container .glow-effect:nth-child(3) {
  bottom: 20%;
  left: 30%;
  animation-delay: -2s;
}

/* Animações */
@keyframes crystalShimmer {
  0% {
    background-position: 0 0, 40px 40px, 80px 80px;
    transform: translateX(0) translateY(0);
  }
  25% {
    background-position: 30px 30px, 70px 70px, 110px 110px;
    transform: translateX(-10px) translateY(5px);
  }
  50% {
    background-position: 60px 60px, 100px 100px, 140px 140px;
    transform: translateX(0) translateY(-10px);
  }
  75% {
    background-position: 90px 90px, 130px 130px, 170px 170px;
    transform: translateX(10px) translateY(5px);
  }
  100% {
    background-position: 120px 120px, 160px 160px, 200px 200px;
    transform: translateX(0) translateY(0);
  }
}

@keyframes floatCrystals {
  0% {
    transform: translateY(0px) rotate(0deg);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50% {
    transform: translateY(-20px) rotate(180deg);
    opacity: 0.8;
  }
  90% {
    opacity: 1;
  }
  100% {
    transform: translateY(-40px) rotate(360deg);
    opacity: 0;
  }
}

@keyframes pulseGlow {
  0%, 100% {
    opacity: 0.3;
    transform: scale(1);
  }
  50% {
    opacity: 0.6;
    transform: scale(1.2);
  }
}

/* Efeito de ondulação cristalina */
.auth-container .wave-effect {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: 
    radial-gradient(ellipse at top, rgba(139, 58, 156, 0.1) 0%, transparent 50%),
    radial-gradient(ellipse at bottom, rgba(107, 44, 122, 0.08) 0%, transparent 50%);
  animation: waveMotion 12s ease-in-out infinite;
  z-index: -2;
}

@keyframes waveMotion {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  25% {
    transform: translateY(-10px) scale(1.02);
  }
  50% {
    transform: translateY(5px) scale(0.98);
  }
  75% {
    transform: translateY(-5px) scale(1.01);
  }
}

/* Efeito de reflexo cristalino */
.auth-container .crystal-reflection {
  position: absolute;
  width: 1px;
  height: 100vh;
  background: linear-gradient(to bottom, 
    transparent 0%, 
    rgba(229, 212, 255, 0.1) 20%, 
    rgba(139, 58, 156, 0.15) 50%, 
    rgba(229, 212, 255, 0.1) 80%, 
    transparent 100%
  );
  animation: slideReflection 10s linear infinite;
  z-index: -1;
}

/* Efeito de neve cristalina */
.auth-container .snowflake {
  position: absolute;
  color: rgba(229, 212, 255, 0.8);
  font-size: 1em;
  animation: snowFall linear infinite;
  z-index: 0;
  pointer-events: none;
  text-shadow: 0 0 10px rgba(229, 212, 255, 0.5);
}

/* Flocos de neve em diferentes tamanhos */
.auth-container .snowflake:nth-child(1) {
  left: 10%;
  font-size: 0.8em;
  animation-duration: 8s;
  animation-delay: 0s;
}

.auth-container .snowflake:nth-child(2) {
  left: 20%;
  font-size: 1.2em;
  animation-duration: 12s;
  animation-delay: -2s;
}

.auth-container .snowflake:nth-child(3) {
  left: 30%;
  font-size: 0.6em;
  animation-duration: 10s;
  animation-delay: -4s;
}

.auth-container .snowflake:nth-child(4) {
  left: 40%;
  font-size: 1em;
  animation-duration: 14s;
  animation-delay: -6s;
}

.auth-container .snowflake:nth-child(5) {
  left: 50%;
  font-size: 0.9em;
  animation-duration: 9s;
  animation-delay: -8s;
}

.auth-container .snowflake:nth-child(6) {
  left: 60%;
  font-size: 1.3em;
  animation-duration: 11s;
  animation-delay: -10s;
}

.auth-container .snowflake:nth-child(7) {
  left: 70%;
  font-size: 0.7em;
  animation-duration: 13s;
  animation-delay: -12s;
}

.auth-container .snowflake:nth-child(8) {
  left: 80%;
  font-size: 1.1em;
  animation-duration: 15s;
  animation-delay: -14s;
}

.auth-container .snowflake:nth-child(9) {
  left: 90%;
  font-size: 0.8em;
  animation-duration: 7s;
  animation-delay: -16s;
}

.auth-container .snowflake:nth-child(10) {
  left: 5%;
  font-size: 1.4em;
  animation-duration: 16s;
  animation-delay: -18s;
}

.auth-container .snowflake:nth-child(11) {
  left: 15%;
  font-size: 0.5em;
  animation-duration: 8s;
  animation-delay: -20s;
}

.auth-container .snowflake:nth-child(12) {
  left: 25%;
  font-size: 1em;
  animation-duration: 12s;
  animation-delay: -22s;
}

.auth-container .snowflake:nth-child(13) {
  left: 35%;
  font-size: 0.9em;
  animation-duration: 10s;
  animation-delay: -24s;
}

.auth-container .snowflake:nth-child(14) {
  left: 45%;
  font-size: 1.2em;
  animation-duration: 14s;
  animation-delay: -26s;
}

.auth-container .snowflake:nth-child(15) {
  left: 55%;
  font-size: 0.6em;
  animation-duration: 9s;
  animation-delay: -28s;
}

.auth-container .snowflake:nth-child(16) {
  left: 65%;
  font-size: 1.1em;
  animation-duration: 11s;
  animation-delay: -30s;
}

.auth-container .snowflake:nth-child(17) {
  left: 75%;
  font-size: 0.8em;
  animation-duration: 13s;
  animation-delay: -32s;
}

.auth-container .snowflake:nth-child(18) {
  left: 85%;
  font-size: 1.3em;
  animation-duration: 15s;
  animation-delay: -34s;
}

.auth-container .snowflake:nth-child(19) {
  left: 95%;
  font-size: 0.7em;
  animation-duration: 7s;
  animation-delay: -36s;
}

.auth-container .snowflake:nth-child(20) {
  left: 3%;
  font-size: 1em;
  animation-duration: 16s;
  animation-delay: -38s;
}

@keyframes slideReflection {
  0% {
    left: -2px;
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    left: 100%;
    opacity: 0;
  }
}

@keyframes snowFall {
  0% {
    top: -100px;
    opacity: 0;
    transform: translateX(0) rotate(0deg);
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    top: 100vh;
    opacity: 0;
    transform: translateX(100px) rotate(360deg);
  }
}

.auth-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxwYXR0ZXJuIGlkPSJwYXR0ZXJuIiB4PSIwIiB5PSIwIiB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHBhdHRlcm5Vbml0cz0idXNlclNwYWNlT25Vc2UiIHBhdHRlcm5UcmFuc2Zvcm09InJvdGF0ZSgxMzUpIj48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIGZpbGw9InJnYmEoNzgsIDY3LCAxMTgsIDAuMDUpIi8+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI3BhdHRlcm4pIi8+PC9zdmc+');
    opacity: 0.5;
    z-index: -1;
}

.auth-glass-card {
    background: var(--auth-card-bg);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border-radius: 16px;
    border: 1px solid var(--auth-glass-border);
    box-shadow: var(--auth-box-shadow);
    overflow: hidden;
    transition: all 0.3s ease;
    padding: 1.5rem;
}

@media (min-width: 768px) {
    .auth-glass-card {
        padding: 2rem;
    }
}

.auth-glass-card:hover {
    box-shadow: 0 12px 40px 0 rgba(10, 5, 33, 0.45);
}

.auth-logo-container {
    text-align: center;
    margin-bottom: 1.5rem;
}

.auth-logo-container img {
    max-height: 60px;
    max-width: 80%;
    display: inline-block;
    filter: brightness(1.1) drop-shadow(0 4px 6px rgba(0, 0, 0, 0.2));
}

.auth-form-control {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid var(--auth-glass-border);
    border-radius: 12px;
    color: var(--auth-text-light);
    padding: 12px 16px;
    transition: all 0.3s ease;
}

.auth-form-control:focus {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--auth-accent-color);
    box-shadow: 0 0 0 3px rgba(83, 177, 253, 0.2);
}

.auth-form-control::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.auth-form-label {
    color: var(--auth-text-light);
    font-weight: 500;
    margin-bottom: 8px;
}

.auth-btn-primary {
    background: linear-gradient(135deg, var(--auth-button-gradient-start), var(--auth-button-gradient-end));
    color: white;
    border: none;
    border-radius: 30px;
    padding: 12px 24px;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.auth-btn-primary:hover {
    background: linear-gradient(135deg, var(--auth-button-gradient-end), var(--auth-button-gradient-start));
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(66, 212, 131, 0.3);
}

.auth-btn-outline {
    background: transparent;
    border: 1px solid var(--auth-accent-color);
    color: var(--auth-accent-color);
    border-radius: 30px;
    padding: 11px 24px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.auth-btn-outline:hover {
    background: rgba(83, 177, 253, 0.1);
    border-color: var(--auth-accent-color);
    color: var(--auth-accent-color);
}

.auth-blur-circle {
    position: absolute;
    border-radius: 50%;
    z-index: -1;
}

.auth-blur-circle-1 {
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(83, 177, 253, 0.2) 0%, rgba(83, 177, 253, 0) 70%);
    top: -50px;
    right: 10%;
}

.auth-blur-circle-2 {
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(66, 212, 131, 0.15) 0%, rgba(66, 212, 131, 0) 70%);
    bottom: -100px;
    left: 5%;
}

.auth-blur-circle-3 {
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255, 184, 108, 0.1) 0%, rgba(255, 184, 108, 0) 70%);
    top: 30%;
    left: 15%;
}

.auth-link {
    color: var(--auth-accent-color);
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

.auth-link:hover {
    color: #78c5ff;
    text-decoration: underline;
}

.auth-heading {
    font-weight: 600;
    letter-spacing: -0.5px;
    color: rgba(255, 255, 255, 0.9);
}

.auth-text-muted {
    color: var(--auth-text-secondary) !important;
}

.auth-check-input {
    width: 18px;
    height: 18px;
    margin-top: 0.2em;
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.auth-check-input:checked {
    background-color: var(--auth-accent-color);
    border-color: var(--auth-accent-color);
}

.auth-check-label {
    font-size: 0.95rem;
    color: var(--auth-text-secondary);
}

.auth-alert {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid var(--auth-glass-border);
    border-radius: 12px;
    color: var(--auth-text-light);
}

.auth-alert-success {
    border-left: 4px solid var(--auth-button-gradient-end);
}

/* Animated wave background */
.auth-wave-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30%;
    z-index: -2;
    opacity: 0.03;
    background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDQwIDMyMCI+PHBhdGggZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMSIgZD0iTTAsNjRMNDguMSw4MEM5Ni4zLDk2LDE5Mi41LDEyOCwyODguOCwxMjhDMzg1LDEyOCw0ODEuMyw5Niw1NzcuNSwxMTJDNjczLjgsMTI4LDc3MCwxOTIsODY2LjMsMjI0Qzk2Mi41LDI1NiwxMDU4LjgsMjU2LDExNTUsMjI0QzEyNTEuMywxOTIsMTM0Ny41LDEyOCwxNDQzLjgsOTZMMTQ0MCw5NkwxNDQwLDMyMEwwLDMyMFoiPjwvcGF0aD48L3N2Zz4=');
    background-size: cover;
}




.ik-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 20px;
}

.ik-card {
    background: white;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    margin-bottom: 24px;
    border: 1px solid #eaedf0;
}

.ik-card-header {
    padding: 20px 24px;
    border-bottom: 1px solid #eaedf0;
}

.ik-card-body {
    padding: 24px;
}

.ik-title {
    font-weight: 600;
    font-size: 20px;
    color: #111827;
    margin: 0;
}

.ik-subtitle {
    font-weight: 500;
    font-size: 16px;
    color: #374151;
    margin-top: 0;
}

.ik-text-muted {
    color: #6b7280;
    font-size: 14px;
}

.ik-info-box {
    background-color: #f0f6ff;
    border-radius: 8px;
    padding: 20px 24px;
}

.ik-info-icon {
    color: #3b82f6;
    margin-right: 12px;
    font-size: 24px;
    display: inline-block;
    vertical-align: top;
}

/* Form controls */
.ik-input {
    border: 1px solid #d1d5db;
    border-radius: 6px;
    padding: 10px 14px;
    width: 100%;
    font-size: 14px;
}

.ik-input:focus {
    border-color: #3b82f6;
    outline: none;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Button styles */
.ik-btn {
    border-radius: 6px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ik-btn-primary {
    background-color: #4f46e5;
    color: white;
    border: none;
}

.ik-btn-primary:hover {
    background-color: #4338ca;
}

.ik-btn-success {
    background-color: #10b981;
    color: white;
    border: none;
}

.ik-btn-success:hover {
    background-color: #059669;
}

.ik-btn-outline {
    background-color: white;
    color: #4f46e5;
    border: 1px solid #4f46e5;
}

.ik-btn-outline:hover {
    background-color: #f5f3ff;
}

.ik-btn-secondary {
    background-color: #f3f4f6;
    color: #374151;
    border: 1px solid #e5e7eb;
}

.ik-btn-secondary:hover {
    background-color: #e5e7eb;
}

/* Badge styles */
.ik-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 9999px;
    font-weight: 500;
    font-size: 12px;
}

.ik-badge-success {
    background-color: #ecfdf5;
    color: #059669;
}

.ik-badge-secondary {
    background-color: #f3f4f6;
    color: #4b5563;
}

/* Ikigai card styles */
.ik-my-card {
    border-left: 3px solid #10b981;
}

.ik-statement {
    background-color: #f9fafb;
    padding: 16px;
    border-radius: 6px;
    color: #1f2937;
    font-size: 14px;
}

/* Section styles */
.ik-section {
    margin-bottom: 24px;
}

/* Checkbox styles */
.ik-checkbox {
    width: 16px;
    height: 16px;
    margin-right: 8px;
    border-radius: 4px;
    border: 1px solid #d1d5db;
}

.ik-label {
    font-size: 14px;
    color: #374151;
}

/* Divider */
.ik-divider {
    height: 1px;
    background-color: #eaedf0;
    margin: 20px 0;
}

/* Empty state */
.ik-empty-state {
    text-align: center;
    padding: 40px 20px;
}

.ik-empty-icon {
    margin-bottom: 16px;
    width: 48px;
    height: 48px;
    color: #9ca3af;
}



.ik-container {
    max-width: 940px;
    margin: 0 auto;
    padding: 40px 20px;
}

.ik-card {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    margin-bottom: 32px;
    border: none;
    overflow: hidden;
}

.ik-card-header {
    padding: 24px 32px;
    border-bottom: 1px solid #f3f4f6;
    background: white;
}

.ik-card-body {
    padding: 32px;
}

.ik-title {
    font-weight: 600;
    font-size: 24px;
    color: #111827;
    margin: 0;
    letter-spacing: -0.02em;
}

.ik-subtitle {
    font-weight: 500;
    font-size: 16px;
    color: #374151;
    margin: 0;
}



.ik-section {
    margin-bottom: 32px;
}

.ik-section-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #111827;
    letter-spacing: -0.01em;
    display: flex;
    align-items: center;
}

.ik-section-title::before {
    content: '';
    display: block;
    width: 4px;
    height: 20px;
    background-color: #6366f1;
    margin-right: 12px;
    border-radius: 4px;
}

/* Element cards */
.ik-element-card {
    border-radius: 12px;
    padding: 20px;
    height: 100%;
    transition: all 0.2s ease;
    border: 1px solid transparent;
    position: relative;
    overflow: hidden;
}

.ik-element-card::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0) 60%);
    border-radius: 0 0 0 60px;
    z-index: 1;
}

.ik-element-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.07);
}

.love-card {
    background-color: #fffbeb;
    border-color: #fde68a;
}

.good-at-card {
    background-color: #ecfdf5;
    border-color: #a7f3d0;
}

.paid-for-card {
    background-color: #eff6ff;
    border-color: #bfdbfe;
}

.world-needs-card {
    background-color: #fef2f2;
    border-color: #fecaca;
}

.passion-card {
    background-color: #fffbeb;
    border-color: #fcd34d;
}

.mission-card {
    background-color: #fef3c7;
    border-color: #fbbf24;
}

.profession-card {
    background-color: #d1fae5;
    border-color: #34d399;
}

.vocation-card {
    background-color: #f3f4f6;
    border-color: #d1d5db;
}

.ikigai-card {
    background: linear-gradient(120deg, #d1fae5, #a7f3d0);
    border: none;
}

/* Form elements */
.ik-textarea {
    width: 100%;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 14px;
    font-size: 14px;
    resize: none;
    background-color: rgba(255, 255, 255, 0.9);
    transition: all 0.2s ease;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.ik-textarea:focus {
    outline: none;
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.16);
    background-color: white;
}

.ik-textarea::placeholder {
    color: #9ca3af;
    font-size: 13px;
}

.is-invalid {
    border-color: #ef4444 !important;
}

.invalid-feedback {
    color: #ef4444;
    font-size: 12px;
    margin-top: 4px;
}

/* Checkbox style */
.ik-checkbox-container {
    display: flex;
    align-items: center;
    margin-bottom: 24px;
    padding: 16px;
    background-color: #f9fafb;
    border-radius: 8px;
}

.ik-checkbox {
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 6px;
    margin-right: 10px;
    border: 1px solid #d1d5db;
    background-color: white;
    position: relative;
    cursor: pointer;
}

.ik-checkbox:checked {
    background-color: #6366f1;
    border-color: #6366f1;
}

.ik-checkbox:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E");
    background-size: contain;
}

.ik-checkbox:focus {
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.16);
}

.ik-checkbox-label {
    font-size: 14px;
    color: #4b5563;
    font-weight: 500;
}

/* Button style */
.ik-btn {
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.2s ease;
    border: none;
    cursor: pointer;
    letter-spacing: 0.01em;
}

.ik-btn-primary {
    background-color: #6366f1;
    color: white;
    box-shadow: 0 2px 4px rgba(99, 102, 241, 0.2);
}

.ik-btn-primary:hover {
    background-color: #4f46e5;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(99, 102, 241, 0.3);
}

.ik-btn-primary:focus {
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.4);
}

/* Info box */
.ik-info-box {
    background-color: #f0f9ff;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 32px;
    position: relative;
    display: flex;
    align-items: flex-start;
}

.ik-info-icon {
    background-color: #e0f2fe;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 16px;
    flex-shrink: 0;
}

.ik-info-icon svg {
    width: 18px;
    height: 18px;
    color: #0ea5e9;
}

.ik-info-text {
    color: #334155;
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}



 :root {
     --primary-color: #6366f1;
     --secondary-color: #64748b;
     --success-color: #10b981;
     --danger-color: #ef4444;
     --warning-color: #f59e0b;
     --info-color: #0ea5e9;
 }

/* Container and Card */
.ik-container {
    max-width: 940px;
    margin: 0 auto;
    padding: 40px 20px;
}

.ik-card {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
    margin-bottom: 32px;
    border: none;
    overflow: hidden;
}

.ik-card-header {
    padding: 24px 32px;
    border-bottom: 1px solid #f3f4f6;
    background: white;
}

.ik-card-body {
    padding: 32px;
}

.ik-title {
    font-weight: 600;
    font-size: 24px;
    color: #111827;
    margin: 0;
    letter-spacing: -0.02em;
}

/* Buttons */
.ik-btn {
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.2s ease;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    letter-spacing: 0.01em;
}

.ik-btn-sm {
    padding: 8px 12px;
    font-size: 13px;
}

.ik-btn-primary {
    background-color: var(--primary-color);
    color: white;
    box-shadow: 0 2px 4px rgba(99, 102, 241, 0.2);
}

.ik-btn-primary:hover {
    background-color: #4f46e5;
    transform: translateY(-1px);
    color: white;
    text-decoration: none;
}

.ik-btn-secondary {
    background-color: #f3f4f6;
    color: #4b5563;
    border: 1px solid #e5e7eb;
}

.ik-btn-secondary:hover {
    background-color: #e5e7eb;
    color: #374151;
    text-decoration: none;
}

.ik-btn-success {
    background-color: var(--success-color);
    color: white;
    box-shadow: 0 2px 4px rgba(16, 185, 129, 0.2);
}

.ik-btn-success:hover {
    background-color: #059669;
    transform: translateY(-1px);
    color: white;
    text-decoration: none;
}

.ik-btn-danger {
    background-color: var(--danger-color);
    color: white;
    box-shadow: 0 2px 4px rgba(239, 68, 68, 0.2);
}

.ik-btn-danger:hover {
    background-color: #dc2626;
    transform: translateY(-1px);
    color: white;
    text-decoration: none;
}

/* Diagram Styles */
.ik-diagram-container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.ik-ikigai-diagram {
    width: 600px;
    height: 600px;
    max-width: 100%;
}

.ik-diagram {
    width: 100%;
    height: 100%;
}

.ik-diagram-circle {
    transition: all 0.3s ease;
    cursor: pointer;
    opacity: 0.7;
}

.ik-diagram-circle:hover {
    fill-opacity: 0.8;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}

/*.ik-diagram-title {*/
/*    fill: #4b5563;*/
/*    font-family: 'Inter', -apple-system, sans-serif;*/
/*}*/

.ik-diagram-intersection {
    font-size: 15px;
    fill: #64748b;
    font-weight: 500;
    font-family: 'Inter', -apple-system, sans-serif;
    letter-spacing: -0.01em;
    cursor: pointer;
    font-style: italic;
}

.ik-diagram-center {
    fill: #4b5563;
    font-weight: bold;
    cursor: pointer;
    font-family: 'Inter', -apple-system, sans-serif;
    letter-spacing: 0.05em;
}

/* Tooltip */
.ik-tooltip {
    position: fixed;
    background: white;
    max-width: 280px;
    padding: 16px;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s;
    z-index: 9999;
    pointer-events: none;
    font-size: 14px;
    line-height: 1.5;
    color: #374151;
    border: 1px solid #f3f4f6;
}

.ik-tooltip-title {
    font-weight: 600;
    color: #111827;
    margin-bottom: 4px;
    font-size: 15px;
}

.hover-area {
    cursor: pointer;
}

/* Collapse section */
.ik-details-section {
    margin-top: 20px;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    overflow: hidden;
}

.ik-collapse-btn {
    width: 100%;
    background: #f9fafb;
    border: none;
    padding: 16px 20px;
    text-align: left;
    font-weight: 500;
    font-size: 15px;
    color: #4b5563;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    transition: background 0.2s;
}

.ik-collapse-btn:hover {
    background: #f3f4f6;
}

.ik-collapse-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s;
}

.ik-collapse-btn[aria-expanded="true"] .ik-collapse-icon {
    transform: rotate(180deg);
}

.ik-collapse-content {
    padding: 24px;
    background: white;
}

/* Section styles */
.ik-section {
    margin-bottom: 32px;
}

.ik-section:last-child {
    margin-bottom: 0;
}

.ik-section-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #111827;
    letter-spacing: -0.01em;
    display: flex;
    align-items: center;
}

.ik-section-title::before {
    content: '';
    display: block;
    width: 4px;
    height: 20px;
    background-color: #6366f1;
    margin-right: 12px;
    border-radius: 4px;
}

/* Element cards */
.ik-element-card {
    border-radius: 12px;
    padding: 20px;
    height: 100%;
    transition: all 0.2s ease;
    border: 1px solid transparent;
    position: relative;
    overflow: hidden;
}

.ik-card-label {
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 5px;
    color: #192433;
    letter-spacing: -0.01em;
}

.ik-text {
    font-size: 14px;
    line-height: 1.6;
    color: #4b5563;
    margin-bottom: 0;
}

.love-card {
    background-color: #fffbeb;
    border-color: #fde68a;
}

.good-at-card {
    background-color: #ecfdf5;
    border-color: #a7f3d0;
}

.paid-for-card {
    background-color: #eff6ff;
    border-color: #bfdbfe;
}

.world-needs-card {
    background-color: #fef2f2;
    border-color: #fecaca;
}

.passion-card {
    background-color: #fffbeb;
    border-color: #fcd34d;
}

.mission-card {
    background-color: #fef3c7;
    border-color: #fbbf24;
}

.profession-card {
    background-color: #d1fae5;
    border-color: #34d399;
}

.vocation-card {
    background-color: #f3f4f6;
    border-color: #d1d5db;
}

.ikigai-card {
    background: linear-gradient(120deg, #d1fae5, #a7f3d0);
    border: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .ik-ikigai-diagram {
        width: 100%;
        height: auto;
    }

    .ik-card-body {
        padding: 20px;
    }

    .ik-collapse-content {
        padding: 16px;
    }
}



.canvas-card {
    height: 100%;
    border-radius: 10px;
    border: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transition: transform 0.2s;
    overflow: hidden;
}
.canvas-card:hover {
    transform: translateY(-5px);
}
.canvas-header {
    padding: 15px 20px;
    color: white;
    font-weight: 600;
}
.canvas-body {
    padding: 20px;
    height: calc(100% - 70px);
}




.mckinsey-card-body {
    position: relative;
    overflow: hidden; /* This is important to keep the letter inside */
    padding-bottom: 40px; /* Add extra padding at bottom to accommodate the letter */
}

.mckinsey-big-letter {
    position: absolute;
    bottom: -40px; /* Move it further up from the bottom */
    right: 10px;
    font-size: 120px;
    font-weight: 700;
    opacity: 0.1;
    line-height: 0.8; /* Reduce the line height */
    z-index: 0;
    color: #0c2461;
    pointer-events: none; /* Ensures the letter doesn't interfere with interactions */
}


.mckinsey-header {
    text-align: center;
    margin-bottom: 30px;
}



.mckinsey-card {
    height: 100%;
    border-radius: 10px;
    border: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transition: transform 0.2s;
    overflow: hidden;
}

.mckinsey-card:hover {
    transform: translateY(-5px);
}

.mckinsey-card-header {
    padding: 15px 20px;
    color: white;
    font-weight: 600;
    background-color: #0c2461;
}

.mckinsey-card-body {
    padding: 20px;
    background-color: white;
}

.mckinsey-description {
    color: #6c757d;
    margin-bottom: 15px;
}

.mckinsey-content ul {
    padding-left: 20px;
}

.mckinsey-content li {
    margin-bottom: 10px;
    position: relative;
}

.mckinsey-icon-container {
    width: 40px;
    height: 40px;
    background-color: rgba(255,255,255,0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
}



.mckinsey-node {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background-color: #0c2461;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    text-align: center;
    font-size: 14px;
    position: relative;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 2;
    margin: 0 auto;
}

.mckinsey-node-icon {
    font-size: 20px;
    margin-bottom: 5px;
}

.mckinsey-connection-line {
    stroke: #4a90e2;
    stroke-width: 1.5;
}

.mckinsey-footer {
    text-align: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #dee2e6;
    color: #6c757d;
}

.mckinsey-logo {
    height: 30px;
    opacity: 0.7;
}

.mckinsey-guidelines-card {
    border: none;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.mckinsey-guidelines-header {
    background-color: #0c2461;
    color: white;
    padding: 15px 20px;
}

.mckinsey-guidelines-title {
    margin-bottom: 0;
    font-weight: 600;
}

.mckinsey-guidelines-body {
    padding: 20px;
}

.mckinsey-guidelines-subtitle {
    font-weight: 600;
    color: #0c2461;
    margin-bottom: 15px;
}

.mckinsey-guidelines-list {
    padding-left: 20px;
}

.mckinsey-guidelines-item {
    margin-bottom: 10px;
}
.mckinsey-big-letter {
    position: absolute;
    bottom: -15px;
    right: 10px;
    font-size: 120px;
    font-weight: 700;
    opacity: 0.1;
    line-height: 1;
    z-index: 0;
    color: #0c2461;
}

