/**
 * index.css - Login page styles
 */

body {
    font-family: 'Poppins', 'Noto Sans JP', sans-serif;
    background: linear-gradient(120deg, #3b82f6 0%, #4f46e5 100%);
}

.space-y-2 {
    position: relative;
    padding-top: 5px;
}

.floating-label-group {
    position: relative;
    padding-top: 5px;
}

.floating-input {
    height: 56px;
    padding: 22px 44px 4px 52px;
    border: 1px solid #e0e0e0;
    background-color: #fdfdfd;
    width: 100%;
    border-radius: 0.75rem;
    outline: none;
    transition: all 0.2s ease;
    font-size: 1rem;
}

.floating-label {
    position: absolute;
    top: 16px;
    left: 52px;
    color: #9e9e9e;
    pointer-events: none;
    transition: all 0.2s ease;
    transform-origin: 0 0;
}

.input-icon {
    position: absolute;
    top: 16px;
    left: 16px;
    color: #bdbdbd;
    transition: color 0.2s ease;
}

.floating-input:focus {
    border-color: #3B82F6;
}

.floating-input:focus ~ .input-icon {
    color: #3B82F6;
}

.floating-input:focus + .floating-label,
.floating-input:not(:placeholder-shown) + .floating-label {
    transform: translateY(-10px) scale(0.75);
    color: #3B82F6;
}

.floating-input::placeholder {
    color: transparent;
}

.dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    background-color: white;
    border-radius: 0.75rem;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
    border: 1px solid #f3f4f6;
    width: 160px;
    z-index: 50;
    transition: transform 0.2s ease-out, opacity 0.2s ease-out;
    transform: scale(0.95);
    opacity: 0;
    pointer-events: none;
}

.dropdown-menu.open {
    transform: scale(1);
    opacity: 1;
    pointer-events: auto;
}

#language-selector-menu {
    right: 0;
    transform-origin: top right;
}

#system-selector-menu {
    left: 0;
    transform-origin: top left;
}
