.material-symbols-rounded {
    font-family: 'Material Symbols Rounded', sans-serif !important;
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    user-select: none;
}

.m3-filled-button, .m3-outlined-button {
    font-family: var(--font-family);
    font-size: var(--md-type-label-large-size); /* 14px — Label Large */
    font-weight: 600;
    letter-spacing: 0.1px;                     /* §9.2 Label Large */
    min-height: 48px;
    padding: 0 22px;                           /* §10.3 — updated from 12px 24px to 0 22px */
    border-radius: var(--radius-button);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: transform var(--md-motion-duration-short) var(--md-motion-easing-emphasized),
                background-color var(--md-motion-duration-short) var(--md-motion-easing-standard),
                color var(--md-motion-duration-short) var(--md-motion-easing-standard);
    user-select: none;
    white-space: nowrap;
}

.m3-filled-button:hover:not(:disabled), .m3-outlined-button:hover:not(:disabled) { transform: scale(1.03); }
.m3-filled-button:active:not(:disabled), .m3-outlined-button:active:not(:disabled) { transform: scale(0.96); }
.m3-filled-button:disabled, .m3-outlined-button:disabled { opacity: 0.5; cursor: not-allowed; transform: none !important; }

.m3-filled-button {
    background-color: var(--md-primary);
    color: var(--md-on-primary);
}

.m3-filled-button:hover:not(:disabled) { background-color: #152E24; }

.m3-outlined-button {
    background-color: var(--md-surface-low);
    color: var(--md-text);
}

.m3-outlined-button:hover:not(:disabled) { background-color: var(--md-surface-high); }

.welcome-btn {
    font-size: 14px !important;
    font-weight: 600 !important;
    min-height: 48px !important;
    padding: 0 28px !important;
    border-radius: var(--radius-full) !important;
    border: none !important;
    background-color: rgba(255,255,255,0.1) !important;
    color: rgba(255,255,255,0.9) !important;
}

.welcome-btn:hover { background-color: rgba(255,255,255,0.18) !important; transform: scale(1.02); }

.welcome-btn-solid {
    font-size: 14px !important;
    font-weight: 600 !important;
    min-height: 48px !important;
    padding: 0 28px !important;
    border-radius: var(--radius-full) !important;
    border: none !important;
    background-color: #FFFFFF !important;
    color: #1B4332 !important;
}

.welcome-btn-solid:hover { background-color: #E2E4E9 !important; transform: scale(1.02); }

.m3-spinner {
    width: 22px;
    height: 22px;
    border: 2.5px solid var(--md-surface-high);
    border-top: 2.5px solid var(--md-primary);
    border-radius: var(--radius-full);
    animation: spin 0.8s linear infinite;
    display: inline-block;
}

@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
